]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] libata: minor patch for ATA_DFLAG_PIO
authorTejun Heo <htejun@gmail.com>
Fri, 23 Jun 2006 04:49:52 +0000 (12:49 +0800)
committerChris Wright <chrisw@sous-sol.org>
Fri, 30 Jun 2006 00:17:16 +0000 (17:17 -0700)
Problem:
 - With 2.6.17 libata, some PIO-only devices are given DMA commands.

Changes:
 - Do not clear the ATA_DFLAG_PIO flag in ata_dev_configure().

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
drivers/scsi/libata-core.c
include/linux/libata.h

index b046ffa22101ccb3c8cbc9c6d6453abd8ef20e4d..6cd197d4474fb9276cd3debdffc5a05718ac92f6 100644 (file)
@@ -1229,7 +1229,7 @@ static int ata_dev_configure(struct ata_port *ap, struct ata_device *dev,
                       id[84], id[85], id[86], id[87], id[88]);
 
        /* initialize to-be-configured parameters */
-       dev->flags = 0;
+       dev->flags &= ~ATA_DFLAG_CFG_MASK;
        dev->max_sectors = 0;
        dev->cdb_len = 0;
        dev->n_sectors = 0;
index b80d2e7fa6d25ba608c11d5bd0ca790c0653dfe1..05d3fb33b06f7a7e8ea6215dff7f9946e85dc35f 100644 (file)
@@ -120,9 +120,12 @@ enum {
        ATA_SHT_USE_CLUSTERING  = 1,
 
        /* struct ata_device stuff */
-       ATA_DFLAG_LBA48         = (1 << 0), /* device supports LBA48 */
-       ATA_DFLAG_PIO           = (1 << 1), /* device currently in PIO mode */
-       ATA_DFLAG_LBA           = (1 << 2), /* device supports LBA */
+       ATA_DFLAG_LBA           = (1 << 0), /* device supports LBA */
+       ATA_DFLAG_LBA48         = (1 << 1), /* device supports LBA48 */
+
+       ATA_DFLAG_CFG_MASK      = (1 << 8) - 1,
+
+       ATA_DFLAG_PIO           = (1 << 8), /* device currently in PIO mode */
 
        ATA_DEV_UNKNOWN         = 0,    /* unknown device */
        ATA_DEV_ATA             = 1,    /* ATA device */