diff options
Diffstat (limited to 'drivers/bluetooth/btuart_cs.c')
| -rw-r--r-- | drivers/bluetooth/btuart_cs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index 8e556b7ff9f6..efd689a062eb 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c | |||
| @@ -293,6 +293,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst) | |||
| 293 | unsigned int iobase; | 293 | unsigned int iobase; |
| 294 | int boguscount = 0; | 294 | int boguscount = 0; |
| 295 | int iir, lsr; | 295 | int iir, lsr; |
| 296 | irqreturn_t r = IRQ_NONE; | ||
| 296 | 297 | ||
| 297 | BUG_ON(!info->hdev); | 298 | BUG_ON(!info->hdev); |
| 298 | 299 | ||
| @@ -302,6 +303,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst) | |||
| 302 | 303 | ||
| 303 | iir = inb(iobase + UART_IIR) & UART_IIR_ID; | 304 | iir = inb(iobase + UART_IIR) & UART_IIR_ID; |
| 304 | while (iir) { | 305 | while (iir) { |
| 306 | r = IRQ_HANDLED; | ||
| 305 | 307 | ||
| 306 | /* Clear interrupt */ | 308 | /* Clear interrupt */ |
| 307 | lsr = inb(iobase + UART_LSR); | 309 | lsr = inb(iobase + UART_LSR); |
| @@ -335,7 +337,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst) | |||
| 335 | 337 | ||
| 336 | spin_unlock(&(info->lock)); | 338 | spin_unlock(&(info->lock)); |
| 337 | 339 | ||
| 338 | return IRQ_HANDLED; | 340 | return r; |
| 339 | } | 341 | } |
| 340 | 342 | ||
| 341 | 343 | ||
| @@ -586,7 +588,7 @@ static int btuart_probe(struct pcmcia_device *link) | |||
| 586 | 588 | ||
| 587 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; | 589 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; |
| 588 | link->io.NumPorts1 = 8; | 590 | link->io.NumPorts1 = 8; |
| 589 | link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT; | 591 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; |
| 590 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | 592 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; |
| 591 | 593 | ||
| 592 | link->irq.Handler = btuart_interrupt; | 594 | link->irq.Handler = btuart_interrupt; |
