|
@@ -849,17 +849,15 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)
|
|
|
|
|
|
xpad->odata = usb_alloc_coherent(xpad->udev, XPAD_PKT_LEN,
|
|
|
GFP_KERNEL, &xpad->odata_dma);
|
|
|
- if (!xpad->odata) {
|
|
|
- error = -ENOMEM;
|
|
|
- goto fail1;
|
|
|
- }
|
|
|
+ if (!xpad->odata)
|
|
|
+ return -ENOMEM;
|
|
|
|
|
|
spin_lock_init(&xpad->odata_lock);
|
|
|
|
|
|
xpad->irq_out = usb_alloc_urb(0, GFP_KERNEL);
|
|
|
if (!xpad->irq_out) {
|
|
|
error = -ENOMEM;
|
|
|
- goto fail2;
|
|
|
+ goto err_free_coherent;
|
|
|
}
|
|
|
|
|
|
/* Xbox One controller has in/out endpoints swapped. */
|
|
@@ -875,8 +873,9 @@ static int xpad_init_output(struct usb_interface *intf, struct usb_xpad *xpad)
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
- fail2: usb_free_coherent(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma);
|
|
|
- fail1: return error;
|
|
|
+err_free_coherent:
|
|
|
+ usb_free_coherent(xpad->udev, XPAD_PKT_LEN, xpad->odata, xpad->odata_dma);
|
|
|
+ return error;
|
|
|
}
|
|
|
|
|
|
static void xpad_stop_output(struct usb_xpad *xpad)
|