3c509: PnP resource management fix

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>
This commit is contained in:
Krzysztof Helt 2007-12-27 09:54:04 +01:00 committed by Jeff Garzik
parent 5dc162682d
commit 9ca20ebc26

View File

@ -385,6 +385,7 @@ static int __init el3_probe(int card_idx)
#if defined(__ISAPNP__) #if defined(__ISAPNP__)
static int pnp_cards; static int pnp_cards;
struct pnp_dev *idev = NULL; struct pnp_dev *idev = NULL;
int pnp_found = 0;
if (nopnp == 1) if (nopnp == 1)
goto no_pnp; goto no_pnp;
@ -430,6 +431,7 @@ static int __init el3_probe(int card_idx)
pnp_cards++; pnp_cards++;
netdev_boot_setup_check(dev); netdev_boot_setup_check(dev);
pnp_found = 1;
goto found; goto found;
} }
} }
@ -560,6 +562,8 @@ static int __init el3_probe(int card_idx)
lp = netdev_priv(dev); lp = netdev_priv(dev);
#if defined(__ISAPNP__) #if defined(__ISAPNP__)
lp->dev = &idev->dev; lp->dev = &idev->dev;
if (pnp_found)
lp->type = EL3_PNP;
#endif #endif
err = el3_common_init(dev); err = el3_common_init(dev);