Commit 79824a43 authored by Chas Williams's avatar Chas Williams Committed by David S. Miller

[ATM]: HE driver misc irq handler cleanups.

parent 83a7f3f5
...@@ -2174,7 +2174,8 @@ he_tasklet(unsigned long data) ...@@ -2174,7 +2174,8 @@ he_tasklet(unsigned long data)
switch (type) { switch (type) {
case ITYPE_RBRQ_THRESH: case ITYPE_RBRQ_THRESH:
hprintk("rbrq%d threshold\n", group); HPRINTK("rbrq%d threshold\n", group);
/* fall through */
case ITYPE_RBRQ_TIMER: case ITYPE_RBRQ_TIMER:
if (he_service_rbrq(he_dev, group)) { if (he_service_rbrq(he_dev, group)) {
he_service_rbpl(he_dev, group); he_service_rbpl(he_dev, group);
...@@ -2184,7 +2185,8 @@ he_tasklet(unsigned long data) ...@@ -2184,7 +2185,8 @@ he_tasklet(unsigned long data)
} }
break; break;
case ITYPE_TBRQ_THRESH: case ITYPE_TBRQ_THRESH:
hprintk("tbrq%d threshold\n", group); HPRINTK("tbrq%d threshold\n", group);
/* fall through */
case ITYPE_TPD_COMPLETE: case ITYPE_TPD_COMPLETE:
he_service_tbrq(he_dev, group); he_service_tbrq(he_dev, group);
break; break;
...@@ -2197,17 +2199,16 @@ he_tasklet(unsigned long data) ...@@ -2197,17 +2199,16 @@ he_tasklet(unsigned long data)
#endif /* USE_RBPS */ #endif /* USE_RBPS */
break; break;
case ITYPE_PHY: case ITYPE_PHY:
HPRINTK("phy interrupt\n");
#ifdef CONFIG_ATM_HE_USE_SUNI #ifdef CONFIG_ATM_HE_USE_SUNI
HE_SPIN_UNLOCK(he_dev, flags); HE_SPIN_UNLOCK(he_dev, flags);
if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->interrupt) if (he_dev->atm_dev->phy && he_dev->atm_dev->phy->interrupt)
he_dev->atm_dev->phy->interrupt(he_dev->atm_dev); he_dev->atm_dev->phy->interrupt(he_dev->atm_dev);
HE_SPIN_LOCK(he_dev, flags); HE_SPIN_LOCK(he_dev, flags);
#endif #endif
HPRINTK("phy interrupt\n");
break; break;
case ITYPE_OTHER: case ITYPE_OTHER:
switch (type|group) switch (type|group) {
{
case ITYPE_PARITY: case ITYPE_PARITY:
hprintk("parity error\n"); hprintk("parity error\n");
break; break;
...@@ -2216,23 +2217,20 @@ he_tasklet(unsigned long data) ...@@ -2216,23 +2217,20 @@ he_tasklet(unsigned long data)
break; break;
} }
break; break;
default: case ITYPE_TYPE(ITYPE_INVALID):
if (he_dev->irq_head->isw == ITYPE_INVALID) { /* see 8.1.1 -- check all queues */
/* see 8.1.1 -- check all queues */
HPRINTK("isw not updated 0x%x\n", HPRINTK("isw not updated 0x%x\n", he_dev->irq_head->isw);
he_dev->irq_head->isw);
he_service_rbrq(he_dev, 0); he_service_rbrq(he_dev, 0);
he_service_rbpl(he_dev, 0); he_service_rbpl(he_dev, 0);
#ifdef USE_RBPS #ifdef USE_RBPS
he_service_rbps(he_dev, 0); he_service_rbps(he_dev, 0);
#endif /* USE_RBPS */ #endif /* USE_RBPS */
he_service_tbrq(he_dev, 0); he_service_tbrq(he_dev, 0);
} break;
else default:
hprintk("bad isw = 0x%x?\n", hprintk("bad isw 0x%x?\n", he_dev->irq_head->isw);
he_dev->irq_head->isw);
} }
he_dev->irq_head->isw = ITYPE_INVALID; he_dev->irq_head->isw = ITYPE_INVALID;
......
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