Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvar...
[firefly-linux-kernel-4.4.55.git] / drivers / ide / ide-xfer-mode.c
index af44be9d546cedf4283cf78458f3eaf2dbaa4136..46d203ce60cc4ab879be08a85b2f2a8540ddd88e 100644 (file)
@@ -107,6 +107,18 @@ u8 ide_get_best_pio_mode(ide_drive_t *drive, u8 mode_wanted, u8 max_mode)
 }
 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);
+
 int ide_set_pio_mode(ide_drive_t *drive, const u8 mode)
 {
        ide_hwif_t *hwif = drive->hwif;