mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 11:13:58 +08:00
mac80211: stop plink timer only on mesh interfaces
Since mesh_plink_quiesce() would unconditionally delete the plink timer, and the timer initialization was recently moved into the mesh code path, suspending with a non-mesh interface now causes a crash. Fix this by only deleting the plink timer for mesh interfaces. Reported-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Tested-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Thomas Pedersen <thomas@cozybit.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
3f52b7e328
commit
aa5a1b8e68
@ -592,6 +592,9 @@ static void mesh_plink_timer(unsigned long data)
|
|||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
void mesh_plink_quiesce(struct sta_info *sta)
|
void mesh_plink_quiesce(struct sta_info *sta)
|
||||||
{
|
{
|
||||||
|
if (!ieee80211_vif_is_mesh(&sta->sdata->vif))
|
||||||
|
return;
|
||||||
|
|
||||||
if (del_timer_sync(&sta->plink_timer))
|
if (del_timer_sync(&sta->plink_timer))
|
||||||
sta->plink_timer_was_running = true;
|
sta->plink_timer_was_running = true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user