lkml.org 
[lkml]   [2021]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/8] media: flexcop-usb: fix control-message timeouts
    Date
    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>
    ---
    drivers/media/usb/b2c2/flexcop-usb.c | 10 +++++-----
    drivers/media/usb/b2c2/flexcop-usb.h | 12 ++++++------
    2 files changed, 11 insertions(+), 11 deletions(-)

    diff --git a/drivers/media/usb/b2c2/flexcop-usb.c b/drivers/media/usb/b2c2/flexcop-usb.c
    index 5d38171b7638..bfeb92d93de3 100644
    --- 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(struct flexcop_device *fc, u16 wRegOffsPCI,
    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(struct flexcop_usb *fc_usb,
    wIndex,
    fc_usb->data,
    buflen,
    - nWaitTime * HZ);
    + nWaitTime);
    if (ret != buflen)
    ret = -EIO;

    @@ -248,13 +248,13 @@ static int flexcop_usb_i2c_req(struct flexcop_i2c_adapter *i2c,
    /* 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 flexcop_i2c_adapter *i2c,
    wIndex,
    fc_usb->data,
    buflen,
    - nWaitTime * HZ);
    + nWaitTime);

    if (ret != buflen)
    ret = -EIO;
    diff --git a/drivers/media/usb/b2c2/flexcop-usb.h b/drivers/media/usb/b2c2/flexcop-usb.h
    index 2f230bf72252..c7cca1a5ee59 100644
    --- 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,
    --
    2.32.0
    \
     
     \ /
      Last update: 2021-10-25 14:17    [W:2.990 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site