diff options
author | Michael Trimarchi <michael@amarulasolutions.com> | 2015-05-18 11:28:58 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-05-26 11:15:09 -0400 |
commit | ca4de53c522f261e84efb659a07435bd1a5a8828 (patch) | |
tree | 29342f7d5999daf59da2c43ec660abc5c87b5b87 /drivers/usb/gadget | |
parent | 49a79d8b0a5f8239b8424a3eb730006faada0ad8 (diff) |
usb: gadget: f_uac1: check return code from config_ep_by_speed
Not checking config_ep_by_speed could lead to a kernel
NULL pointer dereference error in usb_ep_enable
Cc: Felipe Balbi <balbi@ti.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/function/f_uac1.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/gadget/function/f_uac1.c b/drivers/usb/gadget/function/f_uac1.c index 9719abfb6145..7856b3394494 100644 --- a/drivers/usb/gadget/function/f_uac1.c +++ b/drivers/usb/gadget/function/f_uac1.c | |||
@@ -588,7 +588,10 @@ static int f_audio_set_alt(struct usb_function *f, unsigned intf, unsigned alt) | |||
588 | 588 | ||
589 | if (intf == 1) { | 589 | if (intf == 1) { |
590 | if (alt == 1) { | 590 | if (alt == 1) { |
591 | config_ep_by_speed(cdev->gadget, f, out_ep); | 591 | err = config_ep_by_speed(cdev->gadget, f, out_ep); |
592 | if (err) | ||
593 | return err; | ||
594 | |||
592 | usb_ep_enable(out_ep); | 595 | usb_ep_enable(out_ep); |
593 | out_ep->driver_data = audio; | 596 | out_ep->driver_data = audio; |
594 | audio->copy_buf = f_audio_buffer_alloc(audio_buf_size); | 597 | audio->copy_buf = f_audio_buffer_alloc(audio_buf_size); |