Re: 2.6.9-rc2-mm4 e100 enable_irq unbalanced from

From: Paul Fulghum
Date: Mon Sep 27 2004 - 16:22:14 EST


On Mon, 2004-09-27 at 14:24, Paul Fulghum wrote:
> The e100 module is generating a warning:
>
> Sep 27 13:30:29 deimos kernel: e100: Intel(R) PRO/100 Network Driver, 3.1.4-NAPI
> Sep 27 13:30:29 deimos kernel: e100: Copyright(c) 1999-2004 Intel Corporation
> Sep 27 13:30:29 deimos kernel: e100: eth0: e100_probe: addr 0xfecfc000, irq 16, MAC addr 00:90:27:3A:C5:E3
> Sep 27 13:30:29 deimos kernel: enable_irq(16) unbalanced from ec83ff33
> Sep 27 13:30:29 deimos kernel: [<c010923f>] enable_irq+0xcf/0xe0
> Sep 27 13:30:29 deimos kernel: [<ec83ff33>] e100_up+0xf3/0x1f0 [e100]

The following patch works for me and removes the warning.

The disable_irq/enable_irq is not needed because
the ISR can't be called before calling request_irq,
the hardware is initialized before calling request_irq,
and request_irq itself enables the interrupt if needed.

Comments?

--
Paul Fulghum
paulkf@xxxxxxxxxxxxx

--- a/drivers/net/e100.c 2004-09-27 09:57:35.000000000 -0500
+++ b/drivers/net/e100.c 2004-09-27 16:00:12.115482112 -0500
@@ -1675,9 +1675,6 @@

if((err = e100_rx_alloc_list(nic)))
return err;
-
- disable_irq(nic->pdev->irq);
-
if((err = e100_alloc_cbs(nic)))
goto err_rx_clean_list;
if((err = e100_hw_init(nic)))
@@ -1689,7 +1686,6 @@
nic->netdev->name, nic->netdev)))
goto err_no_irq;
e100_enable_irq(nic);
- enable_irq(nic->pdev->irq);
netif_wake_queue(nic->netdev);
return 0;

@@ -1700,7 +1696,6 @@
err_rx_clean_list:
e100_rx_clean_list(nic);

- enable_irq(nic->pdev->irq);
return err;
}



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/