Message ID | 1361867210-13309-1-git-send-email-makienko@ispras.ru |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Marina Makienko <makienko@ispras.ru> Date: Tue, 26 Feb 2013 12:26:50 +0400 > Add missing usb_free_urb() on failure path in st5481_setup_usb(). > > Found by Linux Driver Verification project (linuxtesting.org). > > Signed-off-by: Marina Makienko <makienko@ispras.ru> Applied, thanks. -- 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/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c index 017c67e..ead0a4f 100644 --- a/drivers/isdn/hisax/st5481_usb.c +++ b/drivers/isdn/hisax/st5481_usb.c @@ -294,13 +294,13 @@ int st5481_setup_usb(struct st5481_adapter *adapter) // Allocate URBs and buffers for interrupt endpoint urb = usb_alloc_urb(0, GFP_KERNEL); if (!urb) { - return -ENOMEM; + goto err1; } intr->urb = urb; buf = kmalloc(INT_PKT_SIZE, GFP_KERNEL); if (!buf) { - return -ENOMEM; + goto err2; } endpoint = &altsetting->endpoint[EP_INT-1]; @@ -313,6 +313,14 @@ int st5481_setup_usb(struct st5481_adapter *adapter) endpoint->desc.bInterval); return 0; +err2: + usb_free_urb(intr->urb); + intr->urb = NULL; +err1: + usb_free_urb(ctrl->urb); + ctrl->urb = NULL; + + return -ENOMEM; } /*
Add missing usb_free_urb() on failure path in st5481_setup_usb(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Marina Makienko <makienko@ispras.ru> --- drivers/isdn/hisax/st5481_usb.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-)