diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-07-15 02:53:18 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-15 02:53:18 +0200 |
commit | bdb0f8672ff6f601a32df5af40f11526b741985c (patch) | |
tree | 786003e01be89a0ca82c236c7d7284c8eb8b32f1 /drivers/net/wd.c | |
parent | tulip: formatting of pointers in printk() (diff) | |
download | linux-bdb0f8672ff6f601a32df5af40f11526b741985c.tar.xz linux-bdb0f8672ff6f601a32df5af40f11526b741985c.zip |
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) #endif err = register_netdev(dev); - if (err) + if (err) { free_irq(dev->irq, dev); + iounmap(ei_status.mem); + } return err; } |