]> Pileus Git - ~andy/linux/blobdiff - drivers/ide/ide-xfer-mode.c
Merge remote branch 'airlied/drm-next' into drm-intel-next
[~andy/linux] / drivers / ide / ide-xfer-mode.c
index 0b47ca139079d03e39b3800267f4abdddeb2815a..46d203ce60cc4ab879be08a85b2f2a8540ddd88e 100644 (file)
@@ -109,6 +109,12 @@ EXPORT_SYMBOL_GPL(ide_get_best_pio_mode);
 
 int ide_pio_need_iordy(ide_drive_t *drive, const u8 pio)
 {
+       /*
+        * IORDY may lead to controller lock up on certain controllers
+        * if the port is not occupied.
+        */
+       if (pio == 0 && (drive->hwif->port_flags & IDE_PFLAG_PROBING))
+               return 0;
        return ata_id_pio_need_iordy(drive->id, pio);
 }
 EXPORT_SYMBOL_GPL(ide_pio_need_iordy);