On Wed, Oct 11, 2017 at 12:36:46PM +0200, Takashi Iwai wrote:
There are a few other places calling usb_submit_urb() with the URB composed from the fixed endpoint without validation. For avoiding the spurious kernel warnings, add the sanity checks to appropriate places.
Signed-off-by: Takashi Iwai tiwai@suse.de
sound/usb/line6/driver.c | 23 +++++++++++++++-------- sound/usb/line6/midi.c | 17 +++++++++++------ 2 files changed, 26 insertions(+), 14 deletions(-)
diff --git a/sound/usb/line6/driver.c b/sound/usb/line6/driver.c index 0da6f68761e3..7c682b219584 100644 --- a/sound/usb/line6/driver.c +++ b/sound/usb/line6/driver.c @@ -175,17 +175,24 @@ static int line6_send_raw_message_async_part(struct message *msg, }
msg->done += bytes;
retval = usb_submit_urb(urb, GFP_ATOMIC);
if (retval < 0) {
dev_err(line6->ifcdev, "%s: usb_submit_urb failed (%d)\n",
__func__, retval);
usb_free_urb(urb);
kfree(msg);
return retval;
}
- /* sanity checks of EP before actually submitting */
- retval = usb_urb_ep_type_check(urb);
- if (retval < 0)
goto error;
This also seems like something which should have been done once at urb allocation time, rather than on every submission (just like the URB initialisation should have been).
retval = usb_submit_urb(urb, GFP_ATOMIC);
if (retval < 0)
goto error;
return 0;
error:
dev_err(line6->ifcdev, "%s: usb_submit_urb failed (%d)\n",
__func__, retval);
usb_free_urb(urb);
kfree(msg);
return retval;
Johan