Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c38714ed authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

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
Loading
Loading
Loading
Loading
+46 −61
Original line number Diff line number Diff line
@@ -919,18 +919,15 @@ void ide_timer_expiry (unsigned long data)
		 * or we were "sleeping" to give other devices a chance.
		 * 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 {
		ide_expiry_t *expiry = hwif->expiry;
		ide_startstop_t startstop = ide_stopped;

		drive = hwif->cur_dev;

		if (expiry) {
				/* continue */
				if ((wait = expiry(drive)) > 0) {
			wait = expiry(drive);
			if (wait > 0) { /* continue */
				/* reset timer */
				hwif->timer.expires = jiffies + wait;
				hwif->req_gen_timer = hwif->req_gen;
@@ -948,8 +945,7 @@ void ide_timer_expiry (unsigned long data)
		spin_unlock(&hwif->lock);
		/* disable_irq_nosync ?? */
		disable_irq(hwif->irq);
			/* local CPU only,
			 * as if we were handling an interrupt */
		/* local CPU only, as if we were handling an interrupt */
		local_irq_disable();
		if (hwif->polling) {
			startstop = handler(drive);
@@ -957,14 +953,14 @@ void ide_timer_expiry (unsigned long data)
			if (drive->waiting_for_dma)
				hwif->dma_ops->dma_lost_irq(drive);
			(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);
		} else {
				if (drive->waiting_for_dma) {
			if (drive->waiting_for_dma)
				startstop = ide_dma_timeout_retry(drive, wait);
				} else
					startstop =
					ide_error(drive, "irq timeout",
			else
				startstop = ide_error(drive, "irq timeout",
					hwif->tp_ops->read_status(hwif));
		}
		spin_lock_irq(&hwif->lock);
@@ -974,7 +970,6 @@ void ide_timer_expiry (unsigned long data)
			plug_device = 1;
		}
	}
	}
	spin_unlock_irqrestore(&hwif->lock, flags);

	if (plug_device) {
@@ -1115,15 +1110,6 @@ irqreturn_t ide_intr (int irq, void *dev_id)
	}

	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))
		/*
@@ -1162,7 +1148,6 @@ irqreturn_t ide_intr (int irq, void *dev_id)
		ide_unlock_port(hwif);
		plug_device = 1;
	}
out_handled:
	irq_ret = IRQ_HANDLED;
out:
	spin_unlock_irqrestore(&hwif->lock, flags);