aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r--drivers/ide/ide.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 5bc2e4782a55..9e403282dfa7 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -189,8 +189,6 @@ void ide_unregister(ide_hwif_t *hwif)
189 189
190 free_irq(hwif->irq, hwif); 190 free_irq(hwif->irq, hwif);
191 191
192 ide_remove_port_from_hwgroup(hwif);
193
194 device_unregister(hwif->portdev); 192 device_unregister(hwif->portdev);
195 device_unregister(&hwif->gendev); 193 device_unregister(&hwif->gendev);
196 wait_for_completion(&hwif->gendev_rel_comp); 194 wait_for_completion(&hwif->gendev_rel_comp);
@@ -315,7 +313,6 @@ static int set_pio_mode_abuse(ide_hwif_t *hwif, u8 req_pio)
315static int set_pio_mode(ide_drive_t *drive, int arg) 313static int set_pio_mode(ide_drive_t *drive, int arg)
316{ 314{
317 ide_hwif_t *hwif = drive->hwif; 315 ide_hwif_t *hwif = drive->hwif;
318 ide_hwgroup_t *hwgroup = hwif->hwgroup;
319 const struct ide_port_ops *port_ops = hwif->port_ops; 316 const struct ide_port_ops *port_ops = hwif->port_ops;
320 317
321 if (arg < 0 || arg > 255) 318 if (arg < 0 || arg > 255)
@@ -330,9 +327,9 @@ static int set_pio_mode(ide_drive_t *drive, int arg)
330 unsigned long flags; 327 unsigned long flags;
331 328
332 /* take lock for IDE_DFLAG_[NO_]UNMASK/[NO_]IO_32BIT */ 329 /* take lock for IDE_DFLAG_[NO_]UNMASK/[NO_]IO_32BIT */
333 spin_lock_irqsave(&hwgroup->lock, flags); 330 spin_lock_irqsave(&hwif->lock, flags);
334 port_ops->set_pio_mode(drive, arg); 331 port_ops->set_pio_mode(drive, arg);
335 spin_unlock_irqrestore(&hwgroup->lock, flags); 332 spin_unlock_irqrestore(&hwif->lock, flags);
336 } else 333 } else
337 port_ops->set_pio_mode(drive, arg); 334 port_ops->set_pio_mode(drive, arg);
338 } else { 335 } else {