Skip to contentSkip to conversation

ata_scsi_verify_xlat() fix

PATCH In review Albert Lee 2 participants 5 messages Feb 24, 2005 – Feb 25, 2005

Subsystems (2)
lore
Share & tools
lore

Albert Lee

author
#0 lore raw

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) {
#1 lore raw
Quoted 20 lines · Albert Lee

--- libata-dev-2.6/drivers/scsi/libata-scsi.c 2005-02-21
17:23:03.000000000 +0800
+++ libata-dev-2.6-mod/drivers/scsi/libata-scsi.c 2005-02-22
18:32:19.000000000 +0800

drivers/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

author
#2 lore raw
Quoted 12 lines · Jeff Garzik

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

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) {
#3 lore raw

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

author
#4 lore raw
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.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!

Albert