sound: hiface: move to use usb_control_msg_send()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Sep 2020 13:43:47 +0000 (15:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Sep 2020 14:33:59 +0000 (16:33 +0200)
The usb_control_msg_send() call can return an error if a "short" write
happens, so move the driver over to using that call instead.

v2: API change of use usb_control_msg_send()

Cc: Jaroslav Kysela <perex@perex.cz>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20200914153756.3412156-10-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20200923134348.23862-14-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/usb/hiface/pcm.c

index a148caa5f48e3c3f165b4790790ef3db88c27d39..d942179ca0957a3d3e12f2599f3a2af1b83da21b 100644 (file)
@@ -156,16 +156,14 @@ static int hiface_pcm_set_rate(struct pcm_runtime *rt, unsigned int rate)
         * This control message doesn't have any ack from the
         * other side
         */
-       ret = usb_control_msg(device, usb_sndctrlpipe(device, 0),
-                             HIFACE_SET_RATE_REQUEST,
-                             USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,
-                             rate_value, 0, NULL, 0, 100);
-       if (ret < 0) {
+       ret = usb_control_msg_send(device, 0,
+                                  HIFACE_SET_RATE_REQUEST,
+                                  USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,
+                                  rate_value, 0, NULL, 0, 100, GFP_KERNEL);
+       if (ret)
                dev_err(&device->dev, "Error setting samplerate %d.\n", rate);
-               return ret;
-       }
 
-       return 0;
+       return ret;
 }
 
 static struct pcm_substream *hiface_pcm_get_substream(struct snd_pcm_substream