···11661166/* */11671167/* */11681168/******************************************************************************/11691169+static void11701170+ip2_irq_work(i2eBordStrPtr pB)11711171+{11721172+#ifdef USE_IQI11731173+ if (NO_MAIL_HERE != ( pB->i2eStartMail = iiGetMail(pB))) {11741174+// Disable his interrupt (will be enabled when serviced)11751175+// This is mostly to protect from reentrancy.11761176+ iiDisableMailIrq(pB);11771177+11781178+// Park the board on the immediate queue for processing.11791179+ schedule_work(&pB->tqueue_interrupt);11801180+11811181+// Make sure the immediate queue is flagged to fire.11821182+ }11831183+#else11841184+11851185+// We are using immediate servicing here. This sucks and can11861186+// cause all sorts of havoc with ppp and others. The failsafe11871187+// check on iiSendPendingMail could also throw a hairball.11881188+11891189+ i2ServiceBoard( pB );11901190+11911191+#endif /* USE_IQI */11921192+}11931193+11691194static irqreturn_t11701195ip2_interrupt(int irq, void *dev_id)11711196{···1209118412101185 if ( pB && (pB->i2eUsingIrq == irq) ) {12111186 handled = 1;12121212-#ifdef USE_IQI12131213-12141214- if (NO_MAIL_HERE != ( pB->i2eStartMail = iiGetMail(pB))) {12151215-// Disable his interrupt (will be enabled when serviced)12161216-// This is mostly to protect from reentrancy.12171217- iiDisableMailIrq(pB);12181218-12191219-// Park the board on the immediate queue for processing.12201220- schedule_work(&pB->tqueue_interrupt);12211221-12221222-// Make sure the immediate queue is flagged to fire.12231223- }12241224-#else12251225-// We are using immediate servicing here. This sucks and can12261226-// cause all sorts of havoc with ppp and others. The failsafe12271227-// check on iiSendPendingMail could also throw a hairball.12281228- i2ServiceBoard( pB );12291229-#endif /* USE_IQI */11871187+ ip2_irq_work(pB);12301188 }12311189 }12321190