]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: pvrusb2: fix control-message timeouts
authorJohan Hovold <johan@kernel.org>
Mon, 25 Oct 2021 12:16:39 +0000 (13:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 07:46:13 +0000 (08:46 +0100)
commit b82bf9b9dc305d7d3d93eab106d70dbf2171b43e upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/usb/pvrusb2/pvrusb2-hdw.c

index ba3b0141538d626a56184eee7bf363ea081a0f09..1d0787f0b9a2a00fc1c87082c53828250a3ecd32 100644 (file)
@@ -1488,7 +1488,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");
@@ -1627,7 +1627,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;
@@ -3491,7 +3491,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;
                        }
 
@@ -4017,7 +4017,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);