ata_scsi_verify_xlat() fix
PATCH 1/1 ata_scsi_verify_xlat() fix
Jeff,
Attached please find the split ata_scsi_verify_xlat() fix.
Change:
- Fix uninitialized tf->command bug in ata_scsi_verify_xlat(), introduced by my previous CHS support patch. (This is similar to http://marc.theaimsgroup.com/?l=linux-ide&m=110735039505617&w=2)
- Fix comment wording.
The patch is against libata-dev-2.6 tree for your review.
Albert
=============================================================================================
drivers/scsi/libata-scsi.c +2 -1
@@ -785,6 +785,7 @@if ((cyl >>16 ) || (head >>4 ) || (sect >>8 ) || (!sect))return 1 ; + tf->command =ATA_CMD_VERIFY ; tf->nsect = n_block &0xff ;/* Sector count 0 means 256 sectors */ tf->lbal = sect; tf->lbam = cyl;
@@ -875,7 +876,7 @@/* Check and compose ATA command */ if (!n_block) -/* In ATA, sector count 0 are 256 or 65536 sectors, not 0 sectors. */ +/* In ATA, sector count 0 means 256 or 65536 sectors, not 0 sectors. */ return 1 ;if (lba) {
Quoted 20 lines · Albert Lee
---
libata-dev-2.6/drivers/scsi/libata-scsi.c2005-02-21
17:23:03.000000000 +0800
+++libata-dev-2.6-mod/drivers/scsi/libata-scsi.c2005-02-22
18:32:19.000000000 +0800drivers/scsi/libata-scsi.c +1
-1@@ -785,6 +785,7 @@if ((cyl >>16 ) || (head >>4 ) || (sect >>8 ) || (!sect))return 1 ; + tf->command =ATA_CMD_VERIFY ; tf->nsect = n_block &0xff ;/* Sector count 0 means 256 sectors */ tf->lbal = sect; tf->lbam = cyl;@@ -875,7 +876,7 @@/* Check and compose ATA command */ if (!n_block) -/* In ATA, sector count 0 are 256 or 65536 sectors, not 0 sectors. */
+ /* In ATA, sector count 0 means 256 or 65536 sectors, not 0
sectors. */
Quoted 2 lines
return 1;
Patch looks OK, but does not appear to be diff'd against
linux-2.6.11-rc4 + CHS support patches
When I try to apply your patch, I get
drivers/scsi/libata-scsi.c 1.68: 1661 lines drivers/scsi/libata-scsi.c 1.68 -> 1.69: 1661 lines
2 out of 2 hunks FAILED -- saving rejects to file drivers/scsi/libata-scsi.c.rej
When I examine your patch, I see that the line numbers are _way_ off:
my code line #622:
/* In ATA, sector count 0 are 256 or 65536 sectors, not 0 sector
your patch attempts to modify line #875 !!
Quoted 7 lines
drivers/scsi/libata-scsi.c +0
-1@@ -875,7 +876,7 @@/* Check and compose ATA command */ if (!n_block) -/* In ATA, sector count 0 are 256 or 65536 sectors, not 0 sector s. */
+ /* In ATA, sector count 0 means 256 or 65536 sectors, not 0 sect
Quoted 12 lines · Jeff Garzik
Patch looks OK, but does not appear to be diff'd against
linux-2.6.11-rc4 + CHS support patchesWhen I try to apply your patch, I get
drivers/scsi/libata-scsi.c1.68: 1661 linesdrivers/scsi/libata-scsi.c1.68 -> 1.69: 1661 lines
2 out of 2 hunks FAILED -- saving rejects to filedrivers/scsi/libata-scsi.c.rej
Jeff,
Thanks for the explanation.
I've rediff'ed the patch against 2.6.11-rc5 + C/H/S patches. Attached please find the revised patch for your review.
Albert
============================================================================================
drivers/scsi/libata-scsi.c +2 -1
@@ -529,6 +529,7 @@if ((cyl >>16 ) || (head >>4 ) || (sect >>8 ) || (!sect))return 1 ; + tf->command =ATA_CMD_VERIFY ; tf->nsect = n_block &0xff ;/* Sector count 0 means 256 sectors */ tf->lbal = sect; tf->lbam = cyl;
@@ -619,7 +620,7 @@/* Check and compose ATA command */ if (!n_block) -/* In ATA, sector count 0 are 256 or 65536 sectors, not 0 sectors. */ +/* In ATA, sector count 0 means 256 or 65536 sectors, not 0 sectors. */ return 1 ;if (lba) {
As far as I can tell, your patches are diff'd correctly. Yet, they still do not apply:
drivers/scsi/libata-scsi.c 1.68: 1661 lines
2 out of 2 hunks FAILED -- saving rejects to file drivers/scsi/libata-scsi.c.rej
I do not understand the problem, so I simply applied them by hand.
Thanks for your patience,
Jeff
Quoted 8 lines · Jeff Garzik
As far as I can tell, your patches are diff'd correctly. Yet, they still do not apply:
drivers/scsi/libata-scsi.c1.68: 1661 lines
2 out of 2 hunks FAILED -- saving rejects to filedrivers/scsi/libata-scsi.c.rejI do not understand the problem, so I simply applied them by hand.
Thanks!
Albert