diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-12-05 06:01:19 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-12-05 06:01:19 -0800 |
| commit | 93b010356e20b01b341b094dd177a59e7ec3db46 (patch) | |
| tree | 738c7de9faaf6956bc0aba65f0808154d08a012d | |
| parent | 8a0f0cceb7e098f6a0b7c315a49474d5af94ef68 (diff) | |
| parent | 61d5461783e629490753e0ef3f4726bf6d771973 (diff) | |
Merge "diag: Do not clear masks during logging mode switch"
| -rw-r--r-- | drivers/char/diag/diag_usb.c | 15 |
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); } |
