]> git.hungrycats.org Git - linux/commitdiff
3c59x: fix freeing nonexistent resource on driver unload
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Thu, 2 May 2013 11:10:22 +0000 (11:10 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 19 May 2013 17:04:44 +0000 (10:04 -0700)
[ 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/3c59x.c

index 41afc408077d70255caf874165bdfa02e03b0f9c..cbdf8e5216755a071d757eac535eed41d3c28432 100644 (file)
@@ -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;