Commit 47e4df94 authored by Michal Kazior's avatar Michal Kazior Committed by Linus Torvalds

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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 433ab34d
...@@ -1444,7 +1444,7 @@ ieee80211_vif_use_reserved_switch(struct ieee80211_local *local) ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment