]> err.no Git - linux-2.6/commitdiff
[Bluetooth] Eliminate checks for impossible conditions in IRQ handler
authorJeff Garzik <jeff@garzik.org>
Sat, 20 Oct 2007 11:45:57 +0000 (13:45 +0200)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 22 Oct 2007 09:59:44 +0000 (02:59 -0700)
Our info structure and info->hdev is always passed to the IRQ handler,
so we don't have to worry about these checks in every interrupt.

Leave a BUG_ON() just to help unwary programmers, but these could
probably be removed as well.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/bluecard_cs.c
drivers/bluetooth/bt3c_cs.c
drivers/bluetooth/btuart_cs.c
drivers/bluetooth/dtl1_cs.c

index 851de4d5b7de1af899dc219a1a5bf950736a19b3..bcf57927b7a8ff7e9e377f03e798c37f650689f2 100644 (file)
@@ -503,10 +503,7 @@ static irqreturn_t bluecard_interrupt(int irq, void *dev_inst)
        unsigned int iobase;
        unsigned char reg;
 
-       if (!info || !info->hdev) {
-               BT_ERR("Call of irq %d for unknown device", irq);
-               return IRQ_NONE;
-       }
+       BUG_ON(!info->hdev);
 
        if (!test_bit(CARD_READY, &(info->hw_state)))
                return IRQ_HANDLED;
index 39516074636b86b1446b8904af9963b7a15925a7..a18f9b8c9e128c33e8c3942ce55d3b7197d22ecb 100644 (file)
@@ -344,10 +344,7 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst)
        unsigned int iobase;
        int iir;
 
-       if (!info || !info->hdev) {
-               BT_ERR("Call of irq %d for unknown device", irq);
-               return IRQ_NONE;
-       }
+       BUG_ON(!info->hdev);
 
        iobase = info->p_dev->io.BasePort1;
 
index d7d2ea0d86a179a3330d4f96feeaf66f55c0b632..08f48d577ababf1b38bb0cf4693a311922392a8e 100644 (file)
@@ -294,10 +294,7 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
        int boguscount = 0;
        int iir, lsr;
 
-       if (!info || !info->hdev) {
-               BT_ERR("Call of irq %d for unknown device", irq);
-               return IRQ_NONE;
-       }
+       BUG_ON(!info->hdev);
 
        iobase = info->p_dev->io.BasePort1;
 
index 7f9c54b9964a22fac39628bba97a322ffb76353a..dae45cdf02b2db78db84531bd5b0a41243ad891b 100644 (file)
@@ -298,10 +298,7 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
        int boguscount = 0;
        int iir, lsr;
 
-       if (!info || !info->hdev) {
-               BT_ERR("Call of irq %d for unknown device", irq);
-               return IRQ_NONE;
-       }
+       BUG_ON(!info->hdev);
 
        iobase = info->p_dev->io.BasePort1;