mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 23:50:25 +00:00
wl1251: fix sleep related error paths in wl1251_op_bss_info_changed()
In various cases wl1251_op_bss_info_changed() did not call elp_sleep() after an error was noticed. Fix it by using correct goto label. The bug was a theoretical one, in practise it doesn't matter because if commands start returning errors there will be lots of other problems. Signed-off-by: Kalle Valo <kalle.valo@nokia.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
dc52f0a8e5
commit
80a112ffe8
@ -946,7 +946,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
skb->data, skb->len);
|
||||
dev_kfree_skb(skb);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
goto out_sleep;
|
||||
|
||||
if (wl->bss_type != BSS_TYPE_IBSS) {
|
||||
ret = wl1251_join(wl, wl->bss_type, wl->channel,
|
||||
@ -1018,7 +1018,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
ret = wl1251_acx_cts_protect(wl, CTSPROTECT_DISABLE);
|
||||
if (ret < 0) {
|
||||
wl1251_warning("Set ctsprotect failed %d", ret);
|
||||
goto out;
|
||||
goto out_sleep;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1029,7 +1029,7 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
|
||||
if (ret < 0) {
|
||||
dev_kfree_skb(beacon);
|
||||
goto out;
|
||||
goto out_sleep;
|
||||
}
|
||||
|
||||
ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, beacon->data,
|
||||
@ -1038,13 +1038,13 @@ static void wl1251_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
dev_kfree_skb(beacon);
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
goto out_sleep;
|
||||
|
||||
ret = wl1251_join(wl, wl->bss_type, wl->beacon_int,
|
||||
wl->channel, wl->dtim_period);
|
||||
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
goto out_sleep;
|
||||
}
|
||||
|
||||
out_sleep:
|
||||
|
Loading…
x
Reference in New Issue
Block a user