diff options
| author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2013-05-02 11:10:22 +0000 |
|---|---|---|
| committer | Ben Hutchings <ben@decadent.org.uk> | 2013-05-30 14:35:13 +0100 |
| commit | 6261f7e1bb2e940c457aeda29262842e9ab5f1e2 (patch) | |
| tree | 84a50912a1c1d49c610802ef801a5fc95ce15727 /drivers | |
| parent | f130a20abbbadc40d16b196a98d7cf4d5cbe961b (diff) | |
| download | lwn-6261f7e1bb2e940c457aeda29262842e9ab5f1e2.tar.gz lwn-6261f7e1bb2e940c457aeda29262842e9ab5f1e2.zip | |
3c59x: fix freeing nonexistent resource on driver unload
[ Upstream commit c81400be716aa4c76f6ebf339ba94358dbbf6da6 ]
When unloading the driver that drives an EISA board, a message similar to the
following one is displayed:
Trying to free nonexistent resource <0000000000013000-000000000001301f>
Then an user is unable to reload the driver because the resource it requested in
the previous load hasn't been freed. This happens most probably due to a typo in
vortex_eisa_remove() which calls release_region() with 'dev->base_addr' instead
of 'edev->base_addr'...
Reported-by: Matthew Whitehead <tedheadster@gmail.com>
Tested-by: Matthew Whitehead <tedheadster@gmail.com>
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/ethernet/3com/3c59x.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c index e0c552967921..d1a6dbb703df 100644 --- a/drivers/net/ethernet/3com/3c59x.c +++ b/drivers/net/ethernet/3com/3c59x.c @@ -951,7 +951,7 @@ static int __devexit vortex_eisa_remove(struct device *device) unregister_netdev(dev); iowrite16(TotalReset|0x14, ioaddr + EL3_CMD); - release_region(dev->base_addr, VORTEX_TOTAL_SIZE); + release_region(edev->base_addr, VORTEX_TOTAL_SIZE); free_netdev(dev); return 0; |
