oxnas: sata_oxnas: make irq handler more readable

safed one level of indention by using 'continue' instead of a
lengthy if-clause.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
v2: use logic-AND instead of '?' operator when checking for hw bug 6320

SVN-Revision: 43768
master
Felix Fietkau 10 years ago
parent 74a9e1c1b0
commit 93192e65e8
  1. 25
      target/linux/oxnas/files/drivers/ata/sata_oxnas.c

@ -2041,7 +2041,7 @@ int sata_oxnas_init_controller(struct ata_host *host)
* *
* @param port SATA port to check and if necessary, correct. * @param port SATA port to check and if necessary, correct.
*/ */
static int sata_oxnas_bug_6320_workaround(struct ata_port *ap) static int sata_oxnas_bug_6320_detect(struct ata_port *ap)
{ {
struct sata_oxnas_port_priv *pd = ap->private_data; struct sata_oxnas_port_priv *pd = ap->private_data;
void __iomem *core_base = pd->core_base; void __iomem *core_base = pd->core_base;
@ -2175,17 +2175,18 @@ static irqreturn_t sata_oxnas_interrupt(int irq, void *dev_instance)
/* check the raw end of command interrupt to see if the /* check the raw end of command interrupt to see if the
* port is done */ * port is done */
mask = (COREINT_END << port_no); mask = (COREINT_END << port_no);
if (int_status & mask) { if (!(int_status & mask))
/* this port had an interrupt, clear it */ continue;
iowrite32(mask, core_base + CORE_INT_CLEAR);
bug_present = /* this port had an interrupt, clear it */
(hd->current_ucode == UNKNOWN_MODE) ? iowrite32(mask, core_base + CORE_INT_CLEAR);
sata_oxnas_bug_6320_workaround( /* check for bug 6320 only if no microcode was loaded */
ah->ports[port_no]):0; bug_present = (hd->current_ucode == UNKNOWN_MODE) &&
sata_oxnas_port_irq(ah->ports[port_no], sata_oxnas_bug_6320_detect(ah->ports[port_no]);
bug_present);
ret = IRQ_HANDLED; sata_oxnas_port_irq(ah->ports[port_no],
} bug_present);
ret = IRQ_HANDLED;
} }
} }

Loading…
Cancel
Save