}
 }
 
-/* Called with ide_lock held. */
 static void __ide_port_unregister_devices(ide_hwif_t *hwif)
 {
        int i;
                ide_drive_t *drive = &hwif->drives[i];
 
                if (drive->dev_flags & IDE_DFLAG_PRESENT) {
-                       spin_unlock_irq(&ide_lock);
                        device_unregister(&drive->gendev);
                        wait_for_completion(&drive->gendev_rel_comp);
-                       spin_lock_irq(&ide_lock);
                }
        }
 }
 void ide_port_unregister_devices(ide_hwif_t *hwif)
 {
        mutex_lock(&ide_cfg_mtx);
-       spin_lock_irq(&ide_lock);
        __ide_port_unregister_devices(hwif);
        hwif->present = 0;
        ide_port_init_devices_data(hwif);
-       spin_unlock_irq(&ide_lock);
        mutex_unlock(&ide_cfg_mtx);
 }
 EXPORT_SYMBOL_GPL(ide_port_unregister_devices);
 
        mutex_lock(&ide_cfg_mtx);
 
-       spin_lock_irq(&ide_lock);
        if (hwif->present) {
                __ide_port_unregister_devices(hwif);
                hwif->present = 0;
        }
-       spin_unlock_irq(&ide_lock);
 
        ide_proc_unregister_port(hwif);