In case firmware is not able to initialize scanning, return an error to skip scanning on the channel. Scan initialization can fail, if e.g. the firmware is not able to submit the null function packet with PS bit set. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx> --- drivers/net/wireless/ath/wcn36xx/main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index eaa38d3..c99c670 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -433,8 +433,11 @@ static int wcn36xx_config(struct ieee80211_hw *hw, u32 changed) /* A scan is ongoing, do not change the operating * channel, but start a scan session on the channel. */ - wcn36xx_smd_init_scan(wcn, HAL_SYS_MODE_SCAN, - wcn->sw_scan_vif); + if (wcn36xx_smd_init_scan(wcn, HAL_SYS_MODE_SCAN, + wcn->sw_scan_vif)) { + mutex_unlock(&wcn->conf_mutex); + return -EIO; + } wcn36xx_smd_start_scan(wcn, ch); } else { wcn36xx_change_opchannel(wcn, ch); -- 2.7.4