Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
[safe/jmp/linux-2.6] / drivers / ide / ide-iops.c
index b998738..376f2dc 100644 (file)
@@ -231,7 +231,7 @@ u8 eighty_ninty_three(ide_drive_t *drive)
        u16 *id = drive->id;
        int ivb = ide_in_drive_list(id, ivb_list);
 
-       if (hwif->cbl == ATA_CBL_PATA40_SHORT)
+       if (hwif->cbl == ATA_CBL_SATA || hwif->cbl == ATA_CBL_PATA40_SHORT)
                return 1;
 
        if (ivb)
@@ -292,6 +292,7 @@ static const char *nien_quirk_list[] = {
        "QUANTUM FIREBALLP KX27.3",
        "QUANTUM FIREBALLP LM20.4",
        "QUANTUM FIREBALLP LM20.5",
+       "FUJITSU MHZ2160BH G2",
        NULL
 };
 
@@ -363,14 +364,6 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
         * this point (lost interrupt).
         */
 
-       /*
-        *      FIXME: we race against the running IRQ here if
-        *      this is called from non IRQ context. If we use
-        *      disable_irq() we hang on the error path. Work
-        *      is needed.
-        */
-       disable_irq_nosync(hwif->irq);
-
        udelay(1);
        tp_ops->dev_select(drive);
        SELECT_MASK(drive, 1);
@@ -394,8 +387,6 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
 
        SELECT_MASK(drive, 0);
 
-       enable_irq(hwif->irq);
-
        if (error) {
                (void) ide_dump_status(drive, "set_drive_speed_status", stat);
                return error;