Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 114a6f8b authored by Marina Makienko's avatar Marina Makienko Committed by David S. Miller
Browse files

isdn: hisax: add missing usb_free_urb



Add missing usb_free_urb() on failure path in st5481_setup_usb().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarMarina Makienko <makienko@ispras.ru>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6c8c4e4c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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;
}

/*