pata_cs5536: MWDMA fix
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 16 Oct 2007 23:23:43 +0000 (01:23 +0200)
committerJeff Garzik <jeff@garzik.org>
Sat, 20 Oct 2007 02:55:03 +0000 (22:55 -0400)
* Fix out-of-bound array access for MWDMA modes.

* Bump driver version.

Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/pata_cs5536.c

index 53070f6b1fc4e1c7e005482cb95c9f00cc92a351..d753e568588ea585e4fed4970e1940b63d4382d3 100644 (file)
@@ -40,7 +40,7 @@
 #include <asm/msr.h>
 
 #define DRV_NAME       "pata_cs5536"
-#define DRV_VERSION    "0.0.5"
+#define DRV_VERSION    "0.0.6"
 
 enum {
        CFG                     = 0,
@@ -214,7 +214,7 @@ static void cs5536_set_dmamode(struct ata_port *ap, struct ata_device *adev)
                cs5536_read(pdev, DTC, &dtc);
 
                dtc &= ~(IDE_DRV_MASK << dshift);
-               dtc |= mwdma_timings[mode] << dshift;
+               dtc |= mwdma_timings[mode - XFER_MW_DMA_0] << dshift;
 
                cs5536_write(pdev, DTC, dtc);
        }