summaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hysdn
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2006-12-06 19:41:45 +0100
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-06 20:09:08 +0100
commit3e577a80ea85e2557831fd44064f809646f260b4 (patch)
tree11e5198b33075effb33f70693bc3a189091eb1c3 /drivers/isdn/hysdn
parent[PATCH] hamradio/dmascc: fix up work_struct-induced breakage (diff)
downloadlinux-3e577a80ea85e2557831fd44064f809646f260b4.tar.xz
linux-3e577a80ea85e2557831fd44064f809646f260b4.zip
[PATCH] drivers/{char|isdn}: work_struct-induced breakage
part 1 of fsck-knows-how-many Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/isdn/hysdn')
-rw-r--r--drivers/isdn/hysdn/boardergo.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/isdn/hysdn/boardergo.c b/drivers/isdn/hysdn/boardergo.c
index 82e42a80dc4b..a1206498a1cf 100644
--- a/drivers/isdn/hysdn/boardergo.c
+++ b/drivers/isdn/hysdn/boardergo.c
@@ -71,8 +71,9 @@ ergo_interrupt(int intno, void *dev_id)
/* may be queued from everywhere (interrupts included). */
/******************************************************************************/
static void
-ergo_irq_bh(hysdn_card * card)
+ergo_irq_bh(struct work_struct *ugli_api)
{
+ hysdn_card * card = container_of(ugli_api, hysdn_card, irq_queue);
tErgDpram *dpr;
int again;
unsigned long flags;
@@ -442,7 +443,7 @@ ergo_inithardware(hysdn_card * card)
card->writebootseq = ergo_writebootseq;
card->waitpofready = ergo_waitpofready;
card->set_errlog_state = ergo_set_errlog_state;
- INIT_WORK(&card->irq_queue, (void *) (void *) ergo_irq_bh, card);
+ INIT_WORK(&card->irq_queue, ergo_irq_bh);
card->hysdn_lock = SPIN_LOCK_UNLOCKED;
return (0);