Hello Jeff,

Problem:
The feature member is not being set from the error register when the taskfile is read. This causes a problem when the task file is read to determine errors.


Solution:
In libata-core.c add code to set the feature member in the taskfile structure.


Signed-off-by: Eric A. Cottrell [EMAIL PROTECTED]



--- a/drivers/scsi/libata-core.c        2005-04-09 19:34:19.000000000 -0400
+++ b/drivers/scsi/libata-core.c        2005-04-16 18:10:39.000000000 -0400
@@ -261,6 +261,7 @@
 {
        struct ata_ioports *ioaddr = &ap->ioaddr;

+       tf->feature = inb(ioaddr->error_addr);
        tf->nsect = inb(ioaddr->nsect_addr);
        tf->lbal = inb(ioaddr->lbal_addr);
        tf->lbam = inb(ioaddr->lbam_addr);
@@ -293,6 +294,7 @@
 {
        struct ata_ioports *ioaddr = &ap->ioaddr;

+       tf->feature = readb((void __iomem *)ioaddr->error_addr);
        tf->nsect = readb((void __iomem *)ioaddr->nsect_addr);
        tf->lbal = readb((void __iomem *)ioaddr->lbal_addr);
        tf->lbam = readb((void __iomem *)ioaddr->lbam_addr);
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to