summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-12-05 06:01:19 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-12-05 06:01:19 -0800
commit93b010356e20b01b341b094dd177a59e7ec3db46 (patch)
tree738c7de9faaf6956bc0aba65f0808154d08a012d
parent8a0f0cceb7e098f6a0b7c315a49474d5af94ef68 (diff)
parent61d5461783e629490753e0ef3f4726bf6d771973 (diff)
Merge "diag: Do not clear masks during logging mode switch"
-rw-r--r--drivers/char/diag/diag_usb.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/char/diag/diag_usb.c b/drivers/char/diag/diag_usb.c
index 87d021f6a956..d80f0b1cfde1 100644
--- a/drivers/char/diag/diag_usb.c
+++ b/drivers/char/diag/diag_usb.c
@@ -216,13 +216,6 @@ static void usb_connect_work_fn(struct work_struct *work)
*/
static void usb_disconnect(struct diag_usb_info *ch)
{
- if (!ch)
- return;
-
- if (!atomic_read(&ch->connected) &&
- driver->usb_connected && diag_mask_param())
- diag_clear_masks(0);
-
if (ch && ch->ops && ch->ops->close)
ch->ops->close(ch->ctxt, DIAG_USB_MODE);
}
@@ -231,6 +224,14 @@ static void usb_disconnect_work_fn(struct work_struct *work)
{
struct diag_usb_info *ch = container_of(work, struct diag_usb_info,
disconnect_work);
+
+ if (!ch)
+ return;
+
+ if (!atomic_read(&ch->connected) &&
+ driver->usb_connected && diag_mask_param())
+ diag_clear_masks(0);
+
usb_disconnect(ch);
}