|
@@ -302,8 +302,7 @@ static int f_midi_start_ep(struct f_midi *midi,
|
|
int err;
|
|
int err;
|
|
struct usb_composite_dev *cdev = f->config->cdev;
|
|
struct usb_composite_dev *cdev = f->config->cdev;
|
|
|
|
|
|
- if (ep->driver_data)
|
|
|
|
- usb_ep_disable(ep);
|
|
|
|
|
|
+ usb_ep_disable(ep);
|
|
|
|
|
|
err = config_ep_by_speed(midi->gadget, f, ep);
|
|
err = config_ep_by_speed(midi->gadget, f, ep);
|
|
if (err) {
|
|
if (err) {
|
|
@@ -341,8 +340,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt)
|
|
if (err)
|
|
if (err)
|
|
return err;
|
|
return err;
|
|
|
|
|
|
- if (midi->out_ep->driver_data)
|
|
|
|
- usb_ep_disable(midi->out_ep);
|
|
|
|
|
|
+ usb_ep_disable(midi->out_ep);
|
|
|
|
|
|
err = config_ep_by_speed(midi->gadget, f, midi->out_ep);
|
|
err = config_ep_by_speed(midi->gadget, f, midi->out_ep);
|
|
if (err) {
|
|
if (err) {
|
|
@@ -763,12 +761,10 @@ static int f_midi_bind(struct usb_configuration *c, struct usb_function *f)
|
|
midi->in_ep = usb_ep_autoconfig(cdev->gadget, &bulk_in_desc);
|
|
midi->in_ep = usb_ep_autoconfig(cdev->gadget, &bulk_in_desc);
|
|
if (!midi->in_ep)
|
|
if (!midi->in_ep)
|
|
goto fail;
|
|
goto fail;
|
|
- midi->in_ep->driver_data = cdev; /* claim */
|
|
|
|
|
|
|
|
midi->out_ep = usb_ep_autoconfig(cdev->gadget, &bulk_out_desc);
|
|
midi->out_ep = usb_ep_autoconfig(cdev->gadget, &bulk_out_desc);
|
|
if (!midi->out_ep)
|
|
if (!midi->out_ep)
|
|
goto fail;
|
|
goto fail;
|
|
- midi->out_ep->driver_data = cdev; /* claim */
|
|
|
|
|
|
|
|
/* allocate temporary function list */
|
|
/* allocate temporary function list */
|
|
midi_function = kcalloc((MAX_PORTS * 4) + 9, sizeof(*midi_function),
|
|
midi_function = kcalloc((MAX_PORTS * 4) + 9, sizeof(*midi_function),
|
|
@@ -895,12 +891,6 @@ fail_f_midi:
|
|
fail:
|
|
fail:
|
|
f_midi_unregister_card(midi);
|
|
f_midi_unregister_card(midi);
|
|
fail_register:
|
|
fail_register:
|
|
- /* we might as well release our claims on endpoints */
|
|
|
|
- if (midi->out_ep)
|
|
|
|
- midi->out_ep->driver_data = NULL;
|
|
|
|
- if (midi->in_ep)
|
|
|
|
- midi->in_ep->driver_data = NULL;
|
|
|
|
-
|
|
|
|
ERROR(cdev, "%s: can't bind, err %d\n", f->name, status);
|
|
ERROR(cdev, "%s: can't bind, err %d\n", f->name, status);
|
|
|
|
|
|
return status;
|
|
return status;
|