diff options
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 9654bd34cf52..243cf6561e7e 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -488,11 +488,15 @@ repeat: | |||
488 | 488 | ||
489 | if ((hwif->host->host_flags & IDE_HFLAG_SERIALIZE) && | 489 | if ((hwif->host->host_flags & IDE_HFLAG_SERIALIZE) && |
490 | hwif != prev_port) { | 490 | hwif != prev_port) { |
491 | ide_drive_t *cur_dev = | ||
492 | prev_port ? prev_port->cur_dev : NULL; | ||
493 | |||
491 | /* | 494 | /* |
492 | * set nIEN for previous port, drives in the | 495 | * set nIEN for previous port, drives in the |
493 | * quirk_list may not like intr setups/cleanups | 496 | * quirk list may not like intr setups/cleanups |
494 | */ | 497 | */ |
495 | if (prev_port && prev_port->cur_dev->quirk_list == 0) | 498 | if (cur_dev && |
499 | (cur_dev->dev_flags & IDE_DFLAG_NIEN_QUIRK) == 0) | ||
496 | prev_port->tp_ops->write_devctl(prev_port, | 500 | prev_port->tp_ops->write_devctl(prev_port, |
497 | ATA_NIEN | | 501 | ATA_NIEN | |
498 | ATA_DEVCTL_OBS); | 502 | ATA_DEVCTL_OBS); |