Loading drivers/char/diag/diagchar_core.c +10 −7 Original line number Diff line number Diff line Loading @@ -481,20 +481,21 @@ static void diag_close_logging_process(const int pid) params.req_mode = USB_MODE; params.mode_param = 0; params.pd_mask = 0; params.peripheral_mask = diag_translate_kernel_to_user_mask(session_mask); for (i = UPD_WLAN; i < NUM_MD_SESSIONS; i++) { if (session_mask & MD_PERIPHERAL_MASK(i)) { if (driver->num_pd_session > 0) { for (i = UPD_WLAN; ((i < NUM_MD_SESSIONS) && (session_mask & MD_PERIPHERAL_MASK(i))); i++) { j = i - UPD_WLAN; driver->pd_session_clear[j] = 1; driver->pd_logging_mode[j] = 0; driver->num_pd_session -= 1; params.pd_mask = diag_translate_kernel_to_user_mask(session_mask); } else params.pd_mask = 0; } } diag_switch_logging(¶ms); Loading Loading @@ -1612,7 +1613,7 @@ static uint32_t diag_translate_mask(uint32_t peripheral_mask) static int diag_switch_logging(struct diag_logging_mode_param_t *param) { int new_mode, i; int new_mode, i = 0; int curr_mode; int err = 0; uint8_t do_switch = 1; Loading Loading @@ -1653,6 +1654,8 @@ static int diag_switch_logging(struct diag_logging_mode_param_t *param) diag_mux->mux_mask)) { DIAG_LOG(DIAG_DEBUG_USERSPACE, "diag_fr: User PD is already logging onto active peripheral logging\n"); i = upd - UPD_WLAN; driver->pd_session_clear[i] = 0; return -EINVAL; } peripheral_mask = Loading @@ -1662,8 +1665,8 @@ static int diag_switch_logging(struct diag_logging_mode_param_t *param) if (!driver->pd_session_clear[i]) { driver->pd_logging_mode[i] = 1; driver->num_pd_session += 1; driver->pd_session_clear[i] = 0; } driver->pd_session_clear[i] = 0; } else { peripheral_mask = diag_translate_mask(param->peripheral_mask); Loading Loading
drivers/char/diag/diagchar_core.c +10 −7 Original line number Diff line number Diff line Loading @@ -481,20 +481,21 @@ static void diag_close_logging_process(const int pid) params.req_mode = USB_MODE; params.mode_param = 0; params.pd_mask = 0; params.peripheral_mask = diag_translate_kernel_to_user_mask(session_mask); for (i = UPD_WLAN; i < NUM_MD_SESSIONS; i++) { if (session_mask & MD_PERIPHERAL_MASK(i)) { if (driver->num_pd_session > 0) { for (i = UPD_WLAN; ((i < NUM_MD_SESSIONS) && (session_mask & MD_PERIPHERAL_MASK(i))); i++) { j = i - UPD_WLAN; driver->pd_session_clear[j] = 1; driver->pd_logging_mode[j] = 0; driver->num_pd_session -= 1; params.pd_mask = diag_translate_kernel_to_user_mask(session_mask); } else params.pd_mask = 0; } } diag_switch_logging(¶ms); Loading Loading @@ -1612,7 +1613,7 @@ static uint32_t diag_translate_mask(uint32_t peripheral_mask) static int diag_switch_logging(struct diag_logging_mode_param_t *param) { int new_mode, i; int new_mode, i = 0; int curr_mode; int err = 0; uint8_t do_switch = 1; Loading Loading @@ -1653,6 +1654,8 @@ static int diag_switch_logging(struct diag_logging_mode_param_t *param) diag_mux->mux_mask)) { DIAG_LOG(DIAG_DEBUG_USERSPACE, "diag_fr: User PD is already logging onto active peripheral logging\n"); i = upd - UPD_WLAN; driver->pd_session_clear[i] = 0; return -EINVAL; } peripheral_mask = Loading @@ -1662,8 +1665,8 @@ static int diag_switch_logging(struct diag_logging_mode_param_t *param) if (!driver->pd_session_clear[i]) { driver->pd_logging_mode[i] = 1; driver->num_pd_session += 1; driver->pd_session_clear[i] = 0; } driver->pd_session_clear[i] = 0; } else { peripheral_mask = diag_translate_mask(param->peripheral_mask); Loading