]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
CDC-ACM: heed quirk also in error handling
authorOliver Neukum <oneukum@suse.com>
Tue, 26 May 2020 12:44:20 +0000 (14:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jun 2020 07:23:00 +0000 (09:23 +0200)
commit 97fe809934dd2b0b37dfef3a2fc70417f485d7af upstream.

If buffers are iterated over in the error case, the lower limits
for quirky devices must be heeded.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Reported-by: Jean Rene Dawin <jdawin@math.uni-bielefeld.de>
Fixes: a4e7279cd1d19 ("cdc-acm: introduce a cool down")
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200526124420.22160-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-acm.c

index 38709bee4c202f5216a2fd22b248a34e75f96a19..4067f079b08da6b95dae57e9423326f94a7f1eeb 100644 (file)
@@ -602,7 +602,7 @@ static void acm_softint(struct work_struct *work)
        }
 
        if (test_and_clear_bit(ACM_ERROR_DELAY, &acm->flags)) {
-               for (i = 0; i < ACM_NR; i++)
+               for (i = 0; i < acm->rx_buflimit; i++)
                        if (test_and_clear_bit(i, &acm->urbs_in_error_delay))
                                        acm_submit_read_urb(acm, i, GFP_NOIO);
        }