Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 97078
b: refs/heads/master
c: a9dd7fe
h: refs/heads/master
v: v3
  • Loading branch information
Mark Asselstine authored and David S. Miller committed May 15, 2008
1 parent d909c69 commit d79322d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 10 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: a1a61a435b3cc157830b7d42b175151ae5eabdd3
refs/heads/master: a9dd7fe28742c6b22eb8f214a04c4d2bcb2c0899
14 changes: 5 additions & 9 deletions trunk/drivers/isdn/hysdn/boardergo.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,11 @@ ergo_interrupt(int intno, void *dev_id)
} /* ergo_interrupt */

/******************************************************************************/
/* ergo_irq_bh is the function called by the immediate kernel task list after */
/* being activated with queue_task and no interrupts active. This task is the */
/* only one handling data transfer from or to the card after booting. The task */
/* may be queued from everywhere (interrupts included). */
/* ergo_irq_bh will be called as part of the kernel clearing its shared work */
/* queue sometime after a call to schedule_work has been made passing our */
/* work_struct. This task is the only one handling data transfer from or to */
/* the card after booting. The task may be queued from everywhere */
/* (interrupts included). */
/******************************************************************************/
static void
ergo_irq_bh(struct work_struct *ugli_api)
Expand All @@ -90,7 +91,6 @@ ergo_irq_bh(struct work_struct *ugli_api)
card->hw_lock = 1; /* we now lock the hardware */

do {
sti(); /* reenable other ints */
again = 0; /* assume loop not to be repeated */

if (!dpr->ToHyFlag) {
Expand All @@ -110,7 +110,6 @@ ergo_irq_bh(struct work_struct *ugli_api)
again = 1; /* restart loop */
}
} /* a message has arrived for us */
cli(); /* no further ints */
if (again) {
dpr->ToHyInt = 1;
dpr->ToPcInt = 1; /* interrupt to E1 for all cards */
Expand Down Expand Up @@ -242,7 +241,6 @@ ergo_writebootimg(struct HYSDN_CARD *card, unsigned char *buf,
byteout(card->iobase + PCI9050_USER_IO, PCI9050_E1_RUN); /* start E1 processor */
/* the interrupts are still masked */

sti();
msleep_interruptible(20); /* Timeout 20ms */

if (((tDpramBootSpooler *) card->dpram)->Len != DPRAM_SPOOLER_DATA_SIZE) {
Expand Down Expand Up @@ -276,7 +274,6 @@ ergo_writebootseq(struct HYSDN_CARD *card, unsigned char *buf, int len)
dst = sp->Data; /* point to data in spool structure */
buflen = sp->Len; /* maximum len of spooled data */
wr_mirror = sp->WrPtr; /* only once read */
sti();

/* try until all bytes written or error */
i = 0x1000; /* timeout value */
Expand Down Expand Up @@ -380,7 +377,6 @@ ergo_waitpofready(struct HYSDN_CARD *card)
#endif /* CONFIG_HYSDN_CAPI */
return (0); /* success */
} /* data has arrived */
sti();
msleep_interruptible(50); /* Timeout 50ms */
} /* wait until timeout */

Expand Down

0 comments on commit d79322d

Please sign in to comment.