mac80211: fix channel switch for chanctx-based drivers
The new_ctx pointer is set only for non-chanctx drivers. This yielded a crash for chanctx-based drivers during channel switch finalization: BUG: unable to handle kernel NULL pointer dereference at 0000000000000020 IP: ieee80211_vif_use_reserved_switch+0x71c/0xb00 [mac80211] Use an adequate chanctx pointer to fix this. Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
433ab34d26
Коммит
47e4df94d1
|
@ -1444,7 +1444,7 @@ ieee80211_vif_use_reserved_switch(struct ieee80211_local *local)
|
||||||
|
|
||||||
list_del(&sdata->reserved_chanctx_list);
|
list_del(&sdata->reserved_chanctx_list);
|
||||||
list_move(&sdata->assigned_chanctx_list,
|
list_move(&sdata->assigned_chanctx_list,
|
||||||
&new_ctx->assigned_vifs);
|
&ctx->assigned_vifs);
|
||||||
sdata->reserved_chanctx = NULL;
|
sdata->reserved_chanctx = NULL;
|
||||||
|
|
||||||
ieee80211_vif_chanctx_reservation_complete(sdata);
|
ieee80211_vif_chanctx_reservation_complete(sdata);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче