aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/82596.c
diff options
context:
space:
mode:
authorEvgeniy Dushistov <dushistov@mail.ru>2007-11-04 15:22:29 -0500
committerJeff Garzik <jeff@garzik.org>2007-11-05 17:57:30 -0500
commitd2ea732e9ecb68841206f2761ae91360da87cfac (patch)
tree3071f40a6c8046f7c37fb646315e0d7884d9d572 /drivers/net/82596.c
parentcacd40e07c5ad7068221b3910098f1d364e74e45 (diff)
82596: free nonexistent resource fix
During booting of last vanilla kernel I got: Trying to free nonexistent resource... This because of if "ENABLE_APRICOT" is on we do: request_region(ioaddr,...) if (checksum test failed) goto out1; dev->base_addr = ioaddr;//<-here mistake out1: release_region(dev->base_addr,...) This change fixes this bug for me. Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/82596.c')
-rw-r--r--drivers/net/82596.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index bb30d5be7824..2797da7eeee6 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -1192,6 +1192,8 @@ struct net_device * __init i82596_probe(int unit)
1192 goto out; 1192 goto out;
1193 } 1193 }
1194 1194
1195 dev->base_addr = ioaddr;
1196
1195 for (i = 0; i < 8; i++) { 1197 for (i = 0; i < 8; i++) {
1196 eth_addr[i] = inb(ioaddr + 8 + i); 1198 eth_addr[i] = inb(ioaddr + 8 + i);
1197 checksum += eth_addr[i]; 1199 checksum += eth_addr[i];
@@ -1209,7 +1211,6 @@ struct net_device * __init i82596_probe(int unit)
1209 goto out1; 1211 goto out1;
1210 } 1212 }
1211 1213
1212 dev->base_addr = ioaddr;
1213 dev->irq = 10; 1214 dev->irq = 10;
1214 } 1215 }
1215#endif 1216#endif