ide: disable drive interrupts in ide_driveid_update()
authorMikhail Cherkashin <mcherkashin@ru.mvista.com>
Tue, 15 Jul 2008 19:21:40 +0000 (21:21 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Tue, 15 Jul 2008 19:21:40 +0000 (21:21 +0200)
Since ide_driveid_update() uses polling to execute the IDENTIFY DEVICE command
but clears nIEN bit in the control register and doesn't mask the IDE interrupt,
the latter does happen and lead to the corresponding message to appear:

ide0: unexpected interrupt, status=0x58, count=1

when e.g. running hdparm with option -X with a non-PCI IDE driver...

Signed-off-by: Mikhail Cherkashin <mcherkashin@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-iops.c

index 0daf923541ffbc50fe7a9e139e8f172d882b6c78..c2dd20aa15a613effddae46297ce920383eab299 100644 (file)
@@ -689,7 +689,7 @@ int ide_driveid_update(ide_drive_t *drive)
         */
 
        SELECT_MASK(drive, 1);
-       ide_set_irq(drive, 1);
+       ide_set_irq(drive, 0);
        msleep(50);
        hwif->OUTBSYNC(drive, WIN_IDENTIFY, hwif->io_ports.command_addr);
        timeout = jiffies + WAIT_WORSTCASE;