staging: wfx: unlock on error path
Subsystems (2)
PATCH 1/1 staging: wfx: unlock on error path
We need to release the tx_lock on the error path before returning.
Fixes d1c015b4ef6f ("staging: wfx: rewrite wfx_hw_scan()")
Signed-off-by Dan Carpenter <[email protected]>
---
From static analysis. Not tested.
drivers/staging/wfx/scan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/staging/wfx/scan.c +3 -1
@@ -57,8 +57,10 @@ static int send_scan_req(struct wfx_vif *wvif, wvif->scan_abort = false;reinit_completion (&wvif->scan_complete); timeout =hif_scan (wvif, req, start_idx, i - start_idx); -if (timeout <0 ) +if (timeout <0 ) { +wfx_tx_unlock (wvif->wdev);return timeout; + } ret =wait_for_completion_timeout (&wvif->scan_complete, timeout);if (req->channels[start_idx]->max_power != wvif->vif->bss_conf.txpower)hif_set_output_power (wvif, wvif->vif->bss_conf.txpower);
Signature · 1 line
2.26.2
Quoted 28 lines · On Tuesday 12 May 2020 10:36:56 CEST Dan Carpenter wrote:
We need to release the
tx_lockon the error path before returning.Fixes d1c015b4ef6f ("staging: wfx: rewrite wfx_hw_scan()")Signed-off-by Dan Carpenter <[email protected]>---
From static analysis. Not tested.drivers/staging/wfx/scan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)drivers/staging/wfx/scan.c +3
-2@@ -57,8 +57,10 @@ static int send_scan_req(struct wfx_vif *wvif, wvif->scan_abort = false;reinit_completion (&wvif->scan_complete); timeout =hif_scan (wvif, req, start_idx, i - start_idx); -if (timeout <0 ) +if (timeout <0 ) { +wfx_tx_unlock (wvif->wdev);return timeout; + } ret =wait_for_completion_timeout (&wvif->scan_complete, timeout);if (req->channels[start_idx]->max_power != wvif->vif->bss_conf.txpower)hif_set_output_power (wvif, wvif->vif->bss_conf.txpower); --
Quoted 3 lines
2.26.2
Good catch!
Reviewed-by Jérôme Pouiller <[email protected]>
Signature · 1 line
Jérôme Pouiller