3c509: PnP resource management fix
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Thu, 27 Dec 2007 08:54:04 +0000 (09:54 +0100)
committerJeff Garzik <jeff@garzik.org>
Sat, 12 Jan 2008 22:41:04 +0000 (17:41 -0500)
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 <krzysztof.h1@wp.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/3c509.c

index edda6e10ebe50144304316737f2e9884197c16bf..8fafac987e0bea25df8b53d562a4b8dbc19c763a 100644 (file)
@@ -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);