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.
Created attachment 218461 [details] The patch from the linux-scsi mailing list.
Released in gentoo-sources-2.6.32-r6