Commit 5ddee516 authored by Mikhail Cherkashin's avatar Mikhail Cherkashin Committed by Bartlomiej Zolnierkiewicz

ide: disable drive interrupts in ide_driveid_update()

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: default avatarMikhail Cherkashin <mcherkashin@ru.mvista.com>
Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 8c6e46dd
...@@ -689,7 +689,7 @@ int ide_driveid_update(ide_drive_t *drive) ...@@ -689,7 +689,7 @@ int ide_driveid_update(ide_drive_t *drive)
*/ */
SELECT_MASK(drive, 1); SELECT_MASK(drive, 1);
ide_set_irq(drive, 1); ide_set_irq(drive, 0);
msleep(50); msleep(50);
hwif->OUTBSYNC(drive, WIN_IDENTIFY, hwif->io_ports.command_addr); hwif->OUTBSYNC(drive, WIN_IDENTIFY, hwif->io_ports.command_addr);
timeout = jiffies + WAIT_WORSTCASE; timeout = jiffies + WAIT_WORSTCASE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment