Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 303313

Summary: kernel 2.6.32 issue: libata does not return correct ata sense descriptor for 48bit commands
Product: Gentoo Linux Reporter: Stefan Hübner <st0ff>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED FIXED    
Severity: major Keywords: InVCS
Priority: Highest    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=bc496ed00ab1411d3efaf295b72e0c9eb343e1a3
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: The patch from the linux-scsi mailing list.

Description Stefan Hübner 2010-02-03 07:22:25 UTC
When issuing a 48bit SCSI-ATA-Passthough command with the EXTEND and CHECK_CONDITION bits set to a harddisk, then the return descriptor is not a 48bit return descriptor.

Solution for gentoo-sources-2.6.32-r3:
in ${kernelsourcetree}/drivers/ata/libata-scsi.c, line 2828:
the primary operator needs to be a "|=" as this:
"tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE;"

This solution was directly posted on the kernel-scsi list by Douglas Gilbert.
Comment 1 Stefan Hübner 2010-02-04 22:27:05 UTC
Created attachment 218461 [details]
The patch from the linux-scsi mailing list.
Comment 2 Mike Pagano gentoo-dev 2010-02-19 17:22:45 UTC
Released in gentoo-sources-2.6.32-r6