linux/drivers/usb/class
Oliver Neukum 8a661bad6c USB: CDC-ACM: fix poison/unpoison imbalance
commit a8b3b51961 upstream.

suspend() does its poisoning conditionally, resume() does it
unconditionally. On a device with combined interfaces this
will balance, on a device with two interfaces the counter will
go negative and resubmission will fail.

Both actions need to be done conditionally.

Fixes: 6069e3e927 ("USB: cdc-acm: untangle a circular dependency between callback and softint")
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210421074513.4327-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2021-04-28 13:40:02 +02:00
..
cdc-acm.c USB: CDC-ACM: fix poison/unpoison imbalance 2021-04-28 13:40:02 +02:00
cdc-acm.h usb: cdc-acm: fix cooldown mechanism 2020-10-28 13:20:21 +01:00
cdc-wdm.c USB: cdc-wdm: Fix use after free in service_outstanding_interrupt(). 2021-01-12 20:18:18 +01:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile USB: add SPDX identifiers to all remaining Makefiles 2017-11-07 15:53:48 +01:00
usblp.c USB: usblp: fix a hang in poll() if disconnected 2021-03-17 17:06:29 +01:00
usbtmc.c usb: Use fallthrough pseudo-keyword 2020-07-10 08:55:17 +02:00