]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] Make xircom cardbus handle shared irq
authorStephen Hemminger <shemminger@osdl.org>
Sat, 24 Jan 2004 11:02:30 +0000 (06:02 -0500)
committerStephen Hemminger <shemminger@osdl.org>
Sat, 24 Jan 2004 11:02:30 +0000 (06:02 -0500)
Current driver doesn't do shared irq properly.  When testing on
a laptop here irq 3 get shared between pcmcia slot and tty/IRDA

drivers/net/tulip/xircom_cb.c

index e30f3c157f085cb238c86b65baace911ec72e78b..55c340d1162e64d9dc877b5f0621c933b2e6ee7c 100644 (file)
@@ -342,6 +342,11 @@ static irqreturn_t xircom_interrupt(int irq, void *dev_instance, struct pt_regs
        printk("tx status 0x%08x 0x%08x \n",card->tx_buffer[0],card->tx_buffer[4]);
        printk("rx status 0x%08x 0x%08x \n",card->rx_buffer[0],card->rx_buffer[4]);
 #endif 
+       /* Handle shared irq and hotplug */
+       if (status == 0 || status == 0xffffffff) {
+               spin_unlock(&card->lock);
+               return IRQ_NONE;
+       }
 
        if (link_status_changed(card)) {
                int newlink;