Bluetooth: Redo checks in IRQ handler for shared IRQ support
Commit ac019360fe
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>
This commit is contained in:
parent
e420aba331
commit
7427847d2d
4 changed files with 12 additions and 4 deletions
|
@ -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;
|
||||
|
|
|
@ -345,7 +345,9 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)
|
|||
int iir;
|
||||
irqreturn_t r = IRQ_NONE;
|
||||
|
||||
BUG_ON(!info->hdev);
|
||||
if (!info || !info->hdev)
|
||||
/* our irq handler is shared */
|
||||
return IRQ_NONE;
|
||||
|
||||
iobase = info->p_dev->io.BasePort1;
|
||||
|
||||
|
|
|
@ -295,7 +295,9 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
|
|||
int iir, lsr;
|
||||
irqreturn_t r = IRQ_NONE;
|
||||
|
||||
BUG_ON(!info->hdev);
|
||||
if (!info || !info->hdev)
|
||||
/* our irq handler is shared */
|
||||
return IRQ_NONE;
|
||||
|
||||
iobase = info->p_dev->io.BasePort1;
|
||||
|
||||
|
|
|
@ -299,7 +299,9 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
|
|||
int iir, lsr;
|
||||
irqreturn_t r = IRQ_NONE;
|
||||
|
||||
BUG_ON(!info->hdev);
|
||||
if (!info || !info->hdev)
|
||||
/* our irq handler is shared */
|
||||
return IRQ_NONE;
|
||||
|
||||
iobase = info->p_dev->io.BasePort1;
|
||||
|
||||
|
|
Loading…
Reference in a new issue