[PATCH 19/25] libata: minor patch for ATA_DFLAG_PIO

From: Chris Wright
Date: Tue Jun 27 2006 - 16:20:27 EST


-stable review patch. If anyone has any objections, please let us know.
------------------

From: Tejun Heo <htejun@xxxxxxxxx>

- 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@xxxxxxxxx>
Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx>
Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
---

drivers/scsi/libata-core.c | 2 +-
include/linux/libata.h | 9 ++++++---
2 files changed, 7 insertions(+), 4 deletions(-)

--- linux-2.6.17.1.orig/drivers/scsi/libata-core.c
+++ linux-2.6.17.1/drivers/scsi/libata-core.c
@@ -1229,7 +1229,7 @@ static int ata_dev_configure(struct ata_
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;
--- linux-2.6.17.1.orig/include/linux/libata.h
+++ linux-2.6.17.1/include/linux/libata.h
@@ -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 */

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/