diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-12-06 13:41:45 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-06 14:09:08 -0500 |
commit | 3e577a80ea85e2557831fd44064f809646f260b4 (patch) | |
tree | 11e5198b33075effb33f70693bc3a189091eb1c3 /drivers/isdn/hysdn/boardergo.c | |
parent | 7a87b6c228b8d0cc54b9faa159732fcb2a6c9d0c (diff) |
[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/boardergo.c')
-rw-r--r-- | drivers/isdn/hysdn/boardergo.c | 5 |
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) | |||
71 | /* may be queued from everywhere (interrupts included). */ | 71 | /* may be queued from everywhere (interrupts included). */ |
72 | /******************************************************************************/ | 72 | /******************************************************************************/ |
73 | static void | 73 | static void |
74 | ergo_irq_bh(hysdn_card * card) | 74 | ergo_irq_bh(struct work_struct *ugli_api) |
75 | { | 75 | { |
76 | hysdn_card * card = container_of(ugli_api, hysdn_card, irq_queue); | ||
76 | tErgDpram *dpr; | 77 | tErgDpram *dpr; |
77 | int again; | 78 | int again; |
78 | unsigned long flags; | 79 | unsigned long flags; |
@@ -442,7 +443,7 @@ ergo_inithardware(hysdn_card * card) | |||
442 | card->writebootseq = ergo_writebootseq; | 443 | card->writebootseq = ergo_writebootseq; |
443 | card->waitpofready = ergo_waitpofready; | 444 | card->waitpofready = ergo_waitpofready; |
444 | card->set_errlog_state = ergo_set_errlog_state; | 445 | card->set_errlog_state = ergo_set_errlog_state; |
445 | INIT_WORK(&card->irq_queue, (void *) (void *) ergo_irq_bh, card); | 446 | INIT_WORK(&card->irq_queue, ergo_irq_bh); |
446 | card->hysdn_lock = SPIN_LOCK_UNLOCKED; | 447 | card->hysdn_lock = SPIN_LOCK_UNLOCKED; |
447 | 448 | ||
448 | return (0); | 449 | return (0); |