Commit d2ea732e authored by Evgeniy Dushistov's avatar Evgeniy Dushistov Committed by Jeff Garzik

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: default avatarEvgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent cacd40e0
...@@ -1192,6 +1192,8 @@ struct net_device * __init i82596_probe(int unit) ...@@ -1192,6 +1192,8 @@ struct net_device * __init i82596_probe(int unit)
goto out; goto out;
} }
dev->base_addr = ioaddr;
for (i = 0; i < 8; i++) { for (i = 0; i < 8; i++) {
eth_addr[i] = inb(ioaddr + 8 + i); eth_addr[i] = inb(ioaddr + 8 + i);
checksum += eth_addr[i]; checksum += eth_addr[i];
...@@ -1209,7 +1211,6 @@ struct net_device * __init i82596_probe(int unit) ...@@ -1209,7 +1211,6 @@ struct net_device * __init i82596_probe(int unit)
goto out1; goto out1;
} }
dev->base_addr = ioaddr;
dev->irq = 10; dev->irq = 10;
} }
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment