Hi Jeff, Attached please find the patch against libata-2.6 for your review.
Changes: #1. ata_scsi_rw_xlat(): Fix incorrect SCSI to ATA translation for 16 bytes SCSI Read/Write commands. (Already submitted in the previous patch. Merged with change #2 and resubmitted again.) #2. Fix ata_scsi_verify_xlat(): Fix incorrect tf->hob_lbax translation. Albert Signed-off-by: Albert Lee <[EMAIL PROTECTED]> ---------------------------------------------------------------------------------------------- --- libata-2.6/drivers/scsi/libata-scsi.c 2005-01-27 10:41:46.000000000 +0800 +++ libata-2.6-mod/drivers/scsi/libata-scsi.c 2005-01-27 18:10:20.261707752 +0800 @@ -497,9 +497,9 @@ tf->nsect = n_sect & 0xff; - tf->hob_lbah = (sect >> 16) & 0xff; - tf->hob_lbam = (sect >> 8) & 0xff; - tf->hob_lbal = sect & 0xff; + tf->lbah = (sect >> 16) & 0xff; + tf->lbam = (sect >> 8) & 0xff; + tf->lbal = sect & 0xff; return 0; } @@ -599,7 +599,7 @@ return 1; /* stores LBA27:24 in lower 4 bits of device reg */ - tf->device |= scsicmd[2]; + tf->device |= scsicmd[6]; qc->nsect = scsicmd[13]; }
ata_xlat.patch
Description: Binary data