ALSA: caiaq: Add yet more sanity checks for invalid EPs
authorTakashi Iwai <tiwai@suse.de>
Tue, 10 Oct 2017 10:30:41 +0000 (12:30 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 11 Oct 2017 14:59:28 +0000 (16:59 +0200)
A few other places in caiaq driver have the URB handling with the
fixed endpoints without checking the validity, too.  Add the sanity
check with the new helper function at each appropriate place for
avoiding the spurious kernel warnings due to invalid EPs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/caiaq/input.c

index 4b3fb91..e883659 100644 (file)
@@ -718,6 +718,9 @@ int snd_usb_caiaq_input_init(struct snd_usb_caiaqdev *cdev)
                                  usb_rcvbulkpipe(usb_dev, 0x4),
                                  cdev->ep4_in_buf, EP4_BUFSIZE,
                                  snd_usb_caiaq_ep4_reply_dispatch, cdev);
+               ret = usb_urb_ep_type_check(cdev->ep4_in_urb);
+               if (ret < 0)
+                       goto exit_free_idev;
 
                snd_usb_caiaq_set_auto_msg(cdev, 1, 10, 5);
 
@@ -757,6 +760,9 @@ int snd_usb_caiaq_input_init(struct snd_usb_caiaqdev *cdev)
                                  usb_rcvbulkpipe(usb_dev, 0x4),
                                  cdev->ep4_in_buf, EP4_BUFSIZE,
                                  snd_usb_caiaq_ep4_reply_dispatch, cdev);
+               ret = usb_urb_ep_type_check(cdev->ep4_in_urb);
+               if (ret < 0)
+                       goto exit_free_idev;
 
                snd_usb_caiaq_set_auto_msg(cdev, 1, 10, 5);
 
@@ -802,6 +808,9 @@ int snd_usb_caiaq_input_init(struct snd_usb_caiaqdev *cdev)
                                  usb_rcvbulkpipe(usb_dev, 0x4),
                                  cdev->ep4_in_buf, EP4_BUFSIZE,
                                  snd_usb_caiaq_ep4_reply_dispatch, cdev);
+               ret = usb_urb_ep_type_check(cdev->ep4_in_urb);
+               if (ret < 0)
+                       goto exit_free_idev;
 
                snd_usb_caiaq_set_auto_msg(cdev, 1, 10, 5);
                break;