diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2007-05-08 03:36:24 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 14:15:24 -0400 |
commit | f1e83c6c1e7b97ac11d88502c3e5b80cdac9a683 (patch) | |
tree | 03500a568a7e14a7edf71ac5b2cd43b5d23f6c38 /drivers/char/cyclades.c | |
parent | 85c93fa95b8fa8dabc6d14c77eb9a9c2e9753ecc (diff) |
Char: cyclades, allow DEBUG_SHIRQ
Test if base addr is non-null in ISR to prove the card has been correctly
initialized. This is needed for DEBUG_SHIRQ for example.
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/cyclades.c')
-rw-r--r-- | drivers/char/cyclades.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 353e888295d1..9d22d58f4298 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c | |||
@@ -1444,6 +1444,10 @@ static irqreturn_t cyy_interrupt(int irq, void *dev_id) | |||
1444 | card_base_addr = cinfo->base_addr; | 1444 | card_base_addr = cinfo->base_addr; |
1445 | index = cinfo->bus_index; | 1445 | index = cinfo->bus_index; |
1446 | 1446 | ||
1447 | /* card was not initialized yet (e.g. DEBUG_SHIRQ) */ | ||
1448 | if (unlikely(card_base_addr == NULL)) | ||
1449 | return IRQ_HANDLED; | ||
1450 | |||
1447 | /* This loop checks all chips in the card. Make a note whenever | 1451 | /* This loop checks all chips in the card. Make a note whenever |
1448 | _any_ chip had some work to do, as this is considered an | 1452 | _any_ chip had some work to do, as this is considered an |
1449 | indication that there will be more to do. Only when no chip | 1453 | indication that there will be more to do. Only when no chip |