lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.16 0045/1039] media: flexcop-usb: fix control-message timeouts
    Date
    From: Johan Hovold <johan@kernel.org>

    commit cd1798a387825cc4a51282f5a611ad05bb1ad75f upstream.

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

    Note that the driver was multiplying some of the timeout values with HZ
    twice resulting in 3000-second timeouts with HZ=1000.

    Also note that two of the timeout defines are currently unused.

    Fixes: 2154be651b90 ("[media] redrat3: new rc-core IR transceiver device driver")
    Cc: stable@vger.kernel.org # 3.0
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/media/usb/b2c2/flexcop-usb.c | 10 +++++-----
    drivers/media/usb/b2c2/flexcop-usb.h | 12 ++++++------
    2 files changed, 11 insertions(+), 11 deletions(-)

    --- a/drivers/media/usb/b2c2/flexcop-usb.c
    +++ b/drivers/media/usb/b2c2/flexcop-usb.c
    @@ -87,7 +87,7 @@ static int flexcop_usb_readwrite_dw(stru
    0,
    fc_usb->data,
    sizeof(u32),
    - B2C2_WAIT_FOR_OPERATION_RDW * HZ);
    + B2C2_WAIT_FOR_OPERATION_RDW);

    if (ret != sizeof(u32)) {
    err("error while %s dword from %d (%d).", read ? "reading" :
    @@ -155,7 +155,7 @@ static int flexcop_usb_v8_memory_req(str
    wIndex,
    fc_usb->data,
    buflen,
    - nWaitTime * HZ);
    + nWaitTime);
    if (ret != buflen)
    ret = -EIO;

    @@ -248,13 +248,13 @@ static int flexcop_usb_i2c_req(struct fl
    /* DKT 020208 - add this to support special case of DiSEqC */
    case USB_FUNC_I2C_CHECKWRITE:
    pipe = B2C2_USB_CTRL_PIPE_OUT;
    - nWaitTime = 2;
    + nWaitTime = 2000;
    request_type |= USB_DIR_OUT;
    break;
    case USB_FUNC_I2C_READ:
    case USB_FUNC_I2C_REPEATREAD:
    pipe = B2C2_USB_CTRL_PIPE_IN;
    - nWaitTime = 2;
    + nWaitTime = 2000;
    request_type |= USB_DIR_IN;
    break;
    default:
    @@ -281,7 +281,7 @@ static int flexcop_usb_i2c_req(struct fl
    wIndex,
    fc_usb->data,
    buflen,
    - nWaitTime * HZ);
    + nWaitTime);

    if (ret != buflen)
    ret = -EIO;
    --- a/drivers/media/usb/b2c2/flexcop-usb.h
    +++ b/drivers/media/usb/b2c2/flexcop-usb.h
    @@ -91,13 +91,13 @@ typedef enum {
    UTILITY_SRAM_TESTVERIFY = 0x16,
    } flexcop_usb_utility_function_t;

    -#define B2C2_WAIT_FOR_OPERATION_RW (1*HZ)
    -#define B2C2_WAIT_FOR_OPERATION_RDW (3*HZ)
    -#define B2C2_WAIT_FOR_OPERATION_WDW (1*HZ)
    +#define B2C2_WAIT_FOR_OPERATION_RW 1000
    +#define B2C2_WAIT_FOR_OPERATION_RDW 3000
    +#define B2C2_WAIT_FOR_OPERATION_WDW 1000

    -#define B2C2_WAIT_FOR_OPERATION_V8READ (3*HZ)
    -#define B2C2_WAIT_FOR_OPERATION_V8WRITE (3*HZ)
    -#define B2C2_WAIT_FOR_OPERATION_V8FLASH (3*HZ)
    +#define B2C2_WAIT_FOR_OPERATION_V8READ 3000
    +#define B2C2_WAIT_FOR_OPERATION_V8WRITE 3000
    +#define B2C2_WAIT_FOR_OPERATION_V8FLASH 3000

    typedef enum {
    V8_MEMORY_PAGE_DVB_CI = 0x20,

    \
     
     \ /
      Last update: 2022-01-24 23:10    [W:3.971 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site