ide: make drive->id an union (take 2)
[deliverable/linux.git] / drivers / ide / ide-taskfile.c
index 7fb6f1c86272d215f65678adeb2b9d3daf26e3a0..f889373d7f950f5bbe5782c5a29b525f997a0f69 100644 (file)
@@ -729,7 +729,7 @@ int ide_cmd_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg)
        u8 args[4], xfer_rate = 0;
        ide_task_t tfargs;
        struct ide_taskfile *tf = &tfargs.tf;
-       struct hd_driveid *id = drive->id;
+       u16 *id = drive->id;
 
        if (NULL == (void *) arg) {
                struct request *rq;
@@ -772,7 +772,9 @@ int ide_cmd_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg)
        if (tf->command == WIN_SETFEATURES &&
            tf->feature == SETFEATURES_XFER &&
            tf->nsect >= XFER_SW_DMA_0 &&
-           (id->dma_ultra || id->dma_mword || id->dma_1word)) {
+           (id[ATA_ID_UDMA_MODES] ||
+            id[ATA_ID_MWDMA_MODES] ||
+            id[ATA_ID_SWDMA_MODES])) {
                xfer_rate = args[1];
                if (tf->nsect > XFER_UDMA_2 && !eighty_ninty_three(drive)) {
                        printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot "
This page took 0.029975 seconds and 5 git commands to generate.