ide: remove now redundant ->cur_dev checks

* ->cur_dev should now be always valid if ->handler is set so
  remove redundant checks from ide_intr() and ide_timer_expiry().

* Apply CodingStyle fixups in ide_timer_expiry() while at it.

There should be no functional changes caused by this patch.
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent 94c96445
...@@ -919,18 +919,15 @@ void ide_timer_expiry (unsigned long data) ...@@ -919,18 +919,15 @@ void ide_timer_expiry (unsigned long data)
* or we were "sleeping" to give other devices a chance. * or we were "sleeping" to give other devices a chance.
* Either way, we don't really want to complain about anything. * Either way, we don't really want to complain about anything.
*/ */
} else {
drive = hwif->cur_dev;
if (!drive) {
printk(KERN_ERR "%s: ->cur_dev was NULL\n", __func__);
hwif->handler = NULL;
} else { } else {
ide_expiry_t *expiry = hwif->expiry; ide_expiry_t *expiry = hwif->expiry;
ide_startstop_t startstop = ide_stopped; ide_startstop_t startstop = ide_stopped;
drive = hwif->cur_dev;
if (expiry) { if (expiry) {
/* continue */ wait = expiry(drive);
if ((wait = expiry(drive)) > 0) { if (wait > 0) { /* continue */
/* reset timer */ /* reset timer */
hwif->timer.expires = jiffies + wait; hwif->timer.expires = jiffies + wait;
hwif->req_gen_timer = hwif->req_gen; hwif->req_gen_timer = hwif->req_gen;
...@@ -948,8 +945,7 @@ void ide_timer_expiry (unsigned long data) ...@@ -948,8 +945,7 @@ void ide_timer_expiry (unsigned long data)
spin_unlock(&hwif->lock); spin_unlock(&hwif->lock);
/* disable_irq_nosync ?? */ /* disable_irq_nosync ?? */
disable_irq(hwif->irq); disable_irq(hwif->irq);
/* local CPU only, /* local CPU only, as if we were handling an interrupt */
* as if we were handling an interrupt */
local_irq_disable(); local_irq_disable();
if (hwif->polling) { if (hwif->polling) {
startstop = handler(drive); startstop = handler(drive);
...@@ -957,14 +953,14 @@ void ide_timer_expiry (unsigned long data) ...@@ -957,14 +953,14 @@ void ide_timer_expiry (unsigned long data)
if (drive->waiting_for_dma) if (drive->waiting_for_dma)
hwif->dma_ops->dma_lost_irq(drive); hwif->dma_ops->dma_lost_irq(drive);
(void)ide_ack_intr(hwif); (void)ide_ack_intr(hwif);
printk(KERN_WARNING "%s: lost interrupt\n", drive->name); printk(KERN_WARNING "%s: lost interrupt\n",
drive->name);
startstop = handler(drive); startstop = handler(drive);
} else { } else {
if (drive->waiting_for_dma) { if (drive->waiting_for_dma)
startstop = ide_dma_timeout_retry(drive, wait); startstop = ide_dma_timeout_retry(drive, wait);
} else else
startstop = startstop = ide_error(drive, "irq timeout",
ide_error(drive, "irq timeout",
hwif->tp_ops->read_status(hwif)); hwif->tp_ops->read_status(hwif));
} }
spin_lock_irq(&hwif->lock); spin_lock_irq(&hwif->lock);
...@@ -974,7 +970,6 @@ void ide_timer_expiry (unsigned long data) ...@@ -974,7 +970,6 @@ void ide_timer_expiry (unsigned long data)
plug_device = 1; plug_device = 1;
} }
} }
}
spin_unlock_irqrestore(&hwif->lock, flags); spin_unlock_irqrestore(&hwif->lock, flags);
if (plug_device) { if (plug_device) {
...@@ -1115,15 +1110,6 @@ irqreturn_t ide_intr (int irq, void *dev_id) ...@@ -1115,15 +1110,6 @@ irqreturn_t ide_intr (int irq, void *dev_id)
} }
drive = hwif->cur_dev; drive = hwif->cur_dev;
if (!drive) {
/*
* This should NEVER happen, and there isn't much
* we could do about it here.
*
* [Note - this can occur if the drive is hot unplugged]
*/
goto out_handled;
}
if (!drive_is_ready(drive)) if (!drive_is_ready(drive))
/* /*
...@@ -1162,7 +1148,6 @@ irqreturn_t ide_intr (int irq, void *dev_id) ...@@ -1162,7 +1148,6 @@ irqreturn_t ide_intr (int irq, void *dev_id)
ide_unlock_port(hwif); ide_unlock_port(hwif);
plug_device = 1; plug_device = 1;
} }
out_handled:
irq_ret = IRQ_HANDLED; irq_ret = IRQ_HANDLED;
out: out:
spin_unlock_irqrestore(&hwif->lock, flags); spin_unlock_irqrestore(&hwif->lock, flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment