diff --git a/drivers/char/diag/diagfwd_peripheral.c b/drivers/char/diag/diagfwd_peripheral.c index 731b42c56998..40fdcbaaf31a 100644 --- a/drivers/char/diag/diagfwd_peripheral.c +++ b/drivers/char/diag/diagfwd_peripheral.c @@ -651,13 +651,12 @@ void diagfwd_close_transport(uint8_t transport, uint8_t peripheral) break; default: return; - } + mutex_lock(&driver->diagfwd_channel_mutex); fwd_info = &early_init_info[transport][peripheral]; if (fwd_info->p_ops && fwd_info->p_ops->close) fwd_info->p_ops->close(fwd_info->ctxt); - mutex_lock(&driver->diagfwd_channel_mutex); fwd_info = &early_init_info[transport_open][peripheral]; dest_info = &peripheral_info[TYPE_CNTL][peripheral]; dest_info->inited = 1;