Message ID | 1278759704-7777-1-git-send-email-segooon@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Kulikov Vasiliy <segooon@gmail.com> Date: Sat, 10 Jul 2010 15:01:44 +0400 > xtsonic_open() doesn't check sonic_open() return code. If it is error > we must free requested IRQ. > > Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/xtsonic.c b/drivers/net/xtsonic.c index fdba9cb..9f12026 100644 --- a/drivers/net/xtsonic.c +++ b/drivers/net/xtsonic.c @@ -93,12 +93,20 @@ static unsigned short known_revisions[] = static int xtsonic_open(struct net_device *dev) { - if (request_irq(dev->irq,sonic_interrupt,IRQF_DISABLED,"sonic",dev)) { + int retval; + + retval = request_irq(dev->irq, sonic_interrupt, IRQF_DISABLED, + "sonic", dev); + if (retval) { printk(KERN_ERR "%s: unable to get IRQ %d.\n", dev->name, dev->irq); return -EAGAIN; } - return sonic_open(dev); + + retval = sonic_open(dev); + if (retval) + free_irq(dev->irq, dev); + return retval; } static int xtsonic_close(struct net_device *dev)
xtsonic_open() doesn't check sonic_open() return code. If it is error we must free requested IRQ. Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> --- drivers/net/xtsonic.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)