Blame patches.drivers/cdc-acm-fix-race-between-reset-and-control-messaging.patch
|
Takashi Iwai |
d93a6b |
From 9397940ed812b942c520e0c25ed4b2c64d57e8b9 Mon Sep 17 00:00:00 2001
|
|
Takashi Iwai |
d93a6b |
From: Oliver Neukum <oneukum@suse.com>
|
|
Takashi Iwai |
d93a6b |
Date: Thu, 4 Oct 2018 15:49:06 +0200
|
|
Takashi Iwai |
d93a6b |
Subject: [PATCH] cdc-acm: fix race between reset and control messaging
|
|
Takashi Iwai |
d93a6b |
Git-commit: 9397940ed812b942c520e0c25ed4b2c64d57e8b9
|
|
Takashi Iwai |
d93a6b |
Patch-mainline: v4.19
|
|
Takashi Iwai |
d93a6b |
References: bsc#1051510
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
If a device splits up a control message and a reset() happens
|
|
Takashi Iwai |
d93a6b |
between the parts, the message is lost and already recieved parts
|
|
Takashi Iwai |
d93a6b |
must be dropped.
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
Signed-off-by: Oliver Neukum <oneukum@suse.com>
|
|
Takashi Iwai |
d93a6b |
Fixes: 1aba579f3cf51 ("cdc-acm: handle read pipe errors")
|
|
Takashi Iwai |
d93a6b |
Cc: stable <stable@vger.kernel.org>
|
|
Takashi Iwai |
d93a6b |
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Takashi Iwai |
d93a6b |
Acked-by: Takashi Iwai <tiwai@suse.de>
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
---
|
|
Takashi Iwai |
d93a6b |
drivers/usb/class/cdc-acm.c | 1 +
|
|
Takashi Iwai |
d93a6b |
1 file changed, 1 insertion(+)
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
|
|
Takashi Iwai |
d93a6b |
index bc03b0a690b4..1833912f7f5f 100644
|
|
Takashi Iwai |
d93a6b |
--- a/drivers/usb/class/cdc-acm.c
|
|
Takashi Iwai |
d93a6b |
+++ b/drivers/usb/class/cdc-acm.c
|
|
Takashi Iwai |
d93a6b |
@@ -1642,6 +1642,7 @@ static int acm_pre_reset(struct usb_interface *intf)
|
|
Takashi Iwai |
d93a6b |
struct acm *acm = usb_get_intfdata(intf);
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
clear_bit(EVENT_RX_STALL, &acm->flags);
|
|
Takashi Iwai |
d93a6b |
+ acm->nb_index = 0; /* pending control transfers are lost */
|
|
Takashi Iwai |
d93a6b |
|
|
Takashi Iwai |
d93a6b |
return 0;
|
|
Takashi Iwai |
d93a6b |
}
|
|
Takashi Iwai |
d93a6b |
--
|
|
Takashi Iwai |
d93a6b |
2.19.1
|
|
Takashi Iwai |
d93a6b |
|