summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/bluecard_cs.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-09-14 13:43:49 -0400
committerMarcel Holtmann <marcel@holtmann.org>2010-01-30 05:57:26 -0800
commit7427847d2d044d85f478757ea03165ae3cfe87c4 (patch)
tree17c2da9c5dc61ccf4151065483a0751eb26f8dd8 /drivers/bluetooth/bluecard_cs.c
parente420aba331f44de0eed6871441293a6124d566d1 (diff)
downloadlinux-7427847d2d044d85f478757ea03165ae3cfe87c4.tar.gz
linux-7427847d2d044d85f478757ea03165ae3cfe87c4.tar.bz2
linux-7427847d2d044d85f478757ea03165ae3cfe87c4.zip
Bluetooth: Redo checks in IRQ handler for shared IRQ support
Commit ac019360fe3 changed the irq handler logic to BUG_ON rather than returning IRQ_NONE when the incoming argument is invalid. While this works in most cases, it doesn't work when the IRQ is shared with other devices (or when DEBUG_SHIRQ is enabled). So revert the previous change and replace the warning message with a comment explaining that we want this behavior. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth/bluecard_cs.c')
-rw-r--r--drivers/bluetooth/bluecard_cs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c
index 2acdc605cb4b..c2cf81144715 100644
--- a/drivers/bluetooth/bluecard_cs.c
+++ b/drivers/bluetooth/bluecard_cs.c
@@ -503,7 +503,9 @@ static irqreturn_t bluecard_interrupt(int irq, void *dev_inst)
unsigned int iobase;
unsigned char reg;
- BUG_ON(!info->hdev);
+ if (!info || !info->hdev)
+ /* our irq handler is shared */
+ return IRQ_NONE;
if (!test_bit(CARD_READY, &(info->hw_state)))
return IRQ_HANDLED;