Skip to content

Commit

Permalink
isdn: hisax: add missing usb_free_urb
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Marina Makienko authored and davem330 committed Feb 26, 2013
1 parent 6c8c4e4 commit 114a6f8
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions drivers/isdn/hisax/st5481_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -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];
Expand All @@ -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;
}

/*
Expand Down

0 comments on commit 114a6f8

Please sign in to comment.