Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 72445
b: refs/heads/master
c: f3518e4
h: refs/heads/master
i:
  72443: 327d33c
v: v3
  • Loading branch information
Jeff Garzik committed Oct 23, 2007
1 parent 6cb12cc commit 7a70d01
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1daec86ad11383845274e032d1b90620258dc87d
refs/heads/master: f3518e4ee70916e6bd43c8082e02f0dd1e19d7af
44 changes: 26 additions & 18 deletions trunk/drivers/char/ip2/ip2main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1166,6 +1166,31 @@ ip2_interrupt_bh(struct work_struct *work)
/* */
/* */
/******************************************************************************/
static void
ip2_irq_work(i2eBordStrPtr pB)
{
#ifdef USE_IQI
if (NO_MAIL_HERE != ( pB->i2eStartMail = iiGetMail(pB))) {
// Disable his interrupt (will be enabled when serviced)
// This is mostly to protect from reentrancy.
iiDisableMailIrq(pB);

// Park the board on the immediate queue for processing.
schedule_work(&pB->tqueue_interrupt);

// Make sure the immediate queue is flagged to fire.
}
#else

// We are using immediate servicing here. This sucks and can
// cause all sorts of havoc with ppp and others. The failsafe
// check on iiSendPendingMail could also throw a hairball.

i2ServiceBoard( pB );

#endif /* USE_IQI */
}

static irqreturn_t
ip2_interrupt(int irq, void *dev_id)
{
Expand All @@ -1184,24 +1209,7 @@ ip2_interrupt(int irq, void *dev_id)

if ( pB && (pB->i2eUsingIrq == irq) ) {
handled = 1;
#ifdef USE_IQI

if (NO_MAIL_HERE != ( pB->i2eStartMail = iiGetMail(pB))) {
// Disable his interrupt (will be enabled when serviced)
// This is mostly to protect from reentrancy.
iiDisableMailIrq(pB);

// Park the board on the immediate queue for processing.
schedule_work(&pB->tqueue_interrupt);

// Make sure the immediate queue is flagged to fire.
}
#else
// We are using immediate servicing here. This sucks and can
// cause all sorts of havoc with ppp and others. The failsafe
// check on iiSendPendingMail could also throw a hairball.
i2ServiceBoard( pB );
#endif /* USE_IQI */
ip2_irq_work(pB);
}
}

Expand Down

0 comments on commit 7a70d01

Please sign in to comment.