diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-07-14 20:53:18 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-14 20:53:18 -0400 |
commit | bdb0f8672ff6f601a32df5af40f11526b741985c (patch) | |
tree | 786003e01be89a0ca82c236c7d7284c8eb8b32f1 /drivers/net/wd.c | |
parent | 8aa06af4d09b7ca1ca6126b1b8ddec4a9e67fb3a (diff) |
wd: fix memory leak
Unmap mapped IO in wd_probe1() if register_netdev() failed.
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wd.c')
-rw-r--r-- | drivers/net/wd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wd.c b/drivers/net/wd.c index 746a5ee32f33..eb72c67699ab 100644 --- a/drivers/net/wd.c +++ b/drivers/net/wd.c | |||
@@ -358,8 +358,10 @@ static int __init wd_probe1(struct net_device *dev, int ioaddr) | |||
358 | #endif | 358 | #endif |
359 | 359 | ||
360 | err = register_netdev(dev); | 360 | err = register_netdev(dev); |
361 | if (err) | 361 | if (err) { |
362 | free_irq(dev->irq, dev); | 362 | free_irq(dev->irq, dev); |
363 | iounmap(ei_status.mem); | ||
364 | } | ||
363 | return err; | 365 | return err; |
364 | } | 366 | } |
365 | 367 | ||