lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 036/575] ALSA: line6: fix control and interrupt message timeouts
    Date
    From: Johan Hovold <johan@kernel.org>

    commit f4000b58b64344871d7b27c05e73932f137cfef6 upstream.

    USB control and interrupt message timeouts are specified in milliseconds
    and should specifically not vary with CONFIG_HZ.

    Fixes: 705ececd1c60 ("Staging: add line6 usb driver")
    Cc: stable@vger.kernel.org # 2.6.30
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Link: https://lore.kernel.org/r/20211025121142.6531-3-johan@kernel.org
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    sound/usb/line6/driver.c | 14 +++++++-------
    sound/usb/line6/driver.h | 2 +-
    sound/usb/line6/podhd.c | 6 +++---
    sound/usb/line6/toneport.c | 2 +-
    4 files changed, 12 insertions(+), 12 deletions(-)

    --- a/sound/usb/line6/driver.c
    +++ b/sound/usb/line6/driver.c
    @@ -113,12 +113,12 @@ int line6_send_raw_message(struct usb_li
    retval = usb_interrupt_msg(line6->usbdev,
    usb_sndintpipe(line6->usbdev, properties->ep_ctrl_w),
    (char *)frag_buf, frag_size,
    - &partial, LINE6_TIMEOUT * HZ);
    + &partial, LINE6_TIMEOUT);
    } else {
    retval = usb_bulk_msg(line6->usbdev,
    usb_sndbulkpipe(line6->usbdev, properties->ep_ctrl_w),
    (char *)frag_buf, frag_size,
    - &partial, LINE6_TIMEOUT * HZ);
    + &partial, LINE6_TIMEOUT);
    }

    if (retval) {
    @@ -347,7 +347,7 @@ int line6_read_data(struct usb_line6 *li
    ret = usb_control_msg_send(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
    (datalen << 8) | 0x21, address, NULL, 0,
    - LINE6_TIMEOUT * HZ, GFP_KERNEL);
    + LINE6_TIMEOUT, GFP_KERNEL);
    if (ret) {
    dev_err(line6->ifcdev, "read request failed (error %d)\n", ret);
    goto exit;
    @@ -360,7 +360,7 @@ int line6_read_data(struct usb_line6 *li
    ret = usb_control_msg_recv(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    0x0012, 0x0000, &len, 1,
    - LINE6_TIMEOUT * HZ, GFP_KERNEL);
    + LINE6_TIMEOUT, GFP_KERNEL);
    if (ret) {
    dev_err(line6->ifcdev,
    "receive length failed (error %d)\n", ret);
    @@ -387,7 +387,7 @@ int line6_read_data(struct usb_line6 *li
    /* receive the result: */
    ret = usb_control_msg_recv(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    - 0x0013, 0x0000, data, datalen, LINE6_TIMEOUT * HZ,
    + 0x0013, 0x0000, data, datalen, LINE6_TIMEOUT,
    GFP_KERNEL);
    if (ret)
    dev_err(line6->ifcdev, "read failed (error %d)\n", ret);
    @@ -417,7 +417,7 @@ int line6_write_data(struct usb_line6 *l

    ret = usb_control_msg_send(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
    - 0x0022, address, data, datalen, LINE6_TIMEOUT * HZ,
    + 0x0022, address, data, datalen, LINE6_TIMEOUT,
    GFP_KERNEL);
    if (ret) {
    dev_err(line6->ifcdev,
    @@ -430,7 +430,7 @@ int line6_write_data(struct usb_line6 *l

    ret = usb_control_msg_recv(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    - 0x0012, 0x0000, status, 1, LINE6_TIMEOUT * HZ,
    + 0x0012, 0x0000, status, 1, LINE6_TIMEOUT,
    GFP_KERNEL);
    if (ret) {
    dev_err(line6->ifcdev,
    --- a/sound/usb/line6/driver.h
    +++ b/sound/usb/line6/driver.h
    @@ -27,7 +27,7 @@
    #define LINE6_FALLBACK_INTERVAL 10
    #define LINE6_FALLBACK_MAXPACKETSIZE 16

    -#define LINE6_TIMEOUT 1
    +#define LINE6_TIMEOUT 1000
    #define LINE6_BUFSIZE_LISTEN 64
    #define LINE6_MIDI_MESSAGE_MAXLEN 256

    --- a/sound/usb/line6/podhd.c
    +++ b/sound/usb/line6/podhd.c
    @@ -190,7 +190,7 @@ static int podhd_dev_start(struct usb_li
    ret = usb_control_msg_send(usbdev, 0,
    0x67, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
    0x11, 0,
    - NULL, 0, LINE6_TIMEOUT * HZ, GFP_KERNEL);
    + NULL, 0, LINE6_TIMEOUT, GFP_KERNEL);
    if (ret) {
    dev_err(pod->line6.ifcdev, "read request failed (error %d)\n", ret);
    goto exit;
    @@ -200,7 +200,7 @@ static int podhd_dev_start(struct usb_li
    ret = usb_control_msg_recv(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
    0x11, 0x0,
    - init_bytes, 3, LINE6_TIMEOUT * HZ, GFP_KERNEL);
    + init_bytes, 3, LINE6_TIMEOUT, GFP_KERNEL);
    if (ret) {
    dev_err(pod->line6.ifcdev,
    "receive length failed (error %d)\n", ret);
    @@ -220,7 +220,7 @@ static int podhd_dev_start(struct usb_li
    USB_REQ_SET_FEATURE,
    USB_TYPE_STANDARD | USB_RECIP_DEVICE | USB_DIR_OUT,
    1, 0,
    - NULL, 0, LINE6_TIMEOUT * HZ, GFP_KERNEL);
    + NULL, 0, LINE6_TIMEOUT, GFP_KERNEL);
    exit:
    return ret;
    }
    --- a/sound/usb/line6/toneport.c
    +++ b/sound/usb/line6/toneport.c
    @@ -128,7 +128,7 @@ static int toneport_send_cmd(struct usb_

    ret = usb_control_msg_send(usbdev, 0, 0x67,
    USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
    - cmd1, cmd2, NULL, 0, LINE6_TIMEOUT * HZ,
    + cmd1, cmd2, NULL, 0, LINE6_TIMEOUT,
    GFP_KERNEL);

    if (ret) {

    \
     
     \ /
      Last update: 2021-11-15 19:53    [W:7.776 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site