OSDN Git Service

media: pvrusb2: fix control-message timeouts
authorJohan Hovold <johan@kernel.org>
Mon, 25 Oct 2021 12:16:39 +0000 (13:16 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Fri, 19 Nov 2021 06:06:12 +0000 (06:06 +0000)
USB control-message timeouts are specified in milliseconds and should
specifically not vary with CONFIG_HZ.

Fixes: d855497edbfb ("V4L/DVB (4228a): pvrusb2 to kernel 2.6.18")
Cc: stable@vger.kernel.org # 2.6.18
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>
drivers/media/usb/pvrusb2/pvrusb2-hdw.c

index d38dee1..3915d55 100644 (file)
@@ -1467,7 +1467,7 @@ static int pvr2_upload_firmware1(struct pvr2_hdw *hdw)
        for (address = 0; address < fwsize; address += 0x800) {
                memcpy(fw_ptr, fw_entry->data + address, 0x800);
                ret += usb_control_msg(hdw->usb_dev, pipe, 0xa0, 0x40, address,
-                                      0, fw_ptr, 0x800, HZ);
+                                      0, fw_ptr, 0x800, 1000);
        }
 
        trace_firmware("Upload done, releasing device's CPU");
@@ -1605,7 +1605,7 @@ int pvr2_upload_firmware2(struct pvr2_hdw *hdw)
                        ((u32 *)fw_ptr)[icnt] = swab32(((u32 *)fw_ptr)[icnt]);
 
                ret |= usb_bulk_msg(hdw->usb_dev, pipe, fw_ptr,bcnt,
-                                   &actual_length, HZ);
+                                   &actual_length, 1000);
                ret |= (actual_length != bcnt);
                if (ret) break;
                fw_done += bcnt;
@@ -3438,7 +3438,7 @@ void pvr2_hdw_cpufw_set_enabled(struct pvr2_hdw *hdw,
                                                      0xa0,0xc0,
                                                      address,0,
                                                      hdw->fw_buffer+address,
-                                                     0x800,HZ);
+                                                     0x800,1000);
                                if (ret < 0) break;
                        }
 
@@ -3977,7 +3977,7 @@ void pvr2_hdw_cpureset_assert(struct pvr2_hdw *hdw,int val)
        /* Write the CPUCS register on the 8051.  The lsb of the register
           is the reset bit; a 1 asserts reset while a 0 clears it. */
        pipe = usb_sndctrlpipe(hdw->usb_dev, 0);
-       ret = usb_control_msg(hdw->usb_dev,pipe,0xa0,0x40,0xe600,0,da,1,HZ);
+       ret = usb_control_msg(hdw->usb_dev,pipe,0xa0,0x40,0xe600,0,da,1,1000);
        if (ret < 0) {
                pvr2_trace(PVR2_TRACE_ERROR_LEGS,
                           "cpureset_assert(%d) error=%d",val,ret);