3c509: PnP resource management fix
From: Krzysztof Helt <hidden>
Date: 2008-01-07 21:40:47
From: Krzysztof Helt <redacted> In order to release PnP resources a card type must be set to EL3_PNP. Previously, it was never set hence the PnP resources were not released and device was left in incorrect state. Signed-off-by: Krzysztof Helt <redacted> --- The type value is set only if the card is enabled as PnP device.
--- linux-2.6.24/drivers/net/3c509.c 2007-12-25 23:20:20.000000000 +0100
+++ linux-new/drivers/net/3c509.c 2007-12-26 12:18:08.000000000 +0100@@ -385,6 +385,7 @@ static int __init el3_probe(int card_idx #if defined(__ISAPNP__) static int pnp_cards; struct pnp_dev *idev = NULL; + int pnp_found = 0; if (nopnp == 1) goto no_pnp;
@@ -430,6 +431,7 @@ __again: pnp_cards++; netdev_boot_setup_check(dev); + pnp_found = 1; goto found; } }
@@ -560,6 +562,8 @@ no_pnp: lp = netdev_priv(dev); #if defined(__ISAPNP__) lp->dev = &idev->dev; + if (pnp_found) + lp->type = EL3_PNP; #endif err = el3_common_init(dev);