From f1e83c6c1e7b97ac11d88502c3e5b80cdac9a683 Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Tue, 8 May 2007 00:36:24 -0700 Subject: 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- drivers/char/cyclades.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/char/cyclades.c') diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index 353e888295d..9d22d58f429 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) card_base_addr = cinfo->base_addr; index = cinfo->bus_index; + /* card was not initialized yet (e.g. DEBUG_SHIRQ) */ + if (unlikely(card_base_addr == NULL)) + return IRQ_HANDLED; + /* This loop checks all chips in the card. Make a note whenever _any_ chip had some work to do, as this is considered an indication that there will be more to do. Only when no chip -- cgit v1.2.3