|
@@ -603,8 +603,9 @@ out:
|
|
|
ieee80211_mbss_info_change_notify(sdata, changed);
|
|
|
}
|
|
|
|
|
|
-static void mesh_plink_timer(unsigned long data)
|
|
|
+void mesh_plink_timer(struct timer_list *t)
|
|
|
{
|
|
|
+ struct mesh_sta *mesh = from_timer(mesh, t, plink_timer);
|
|
|
struct sta_info *sta;
|
|
|
u16 reason = 0;
|
|
|
struct ieee80211_sub_if_data *sdata;
|
|
@@ -616,7 +617,7 @@ static void mesh_plink_timer(unsigned long data)
|
|
|
* del_timer_sync() this timer after having made sure
|
|
|
* it cannot be readded (by deleting the plink.)
|
|
|
*/
|
|
|
- sta = (struct sta_info *) data;
|
|
|
+ sta = mesh->plink_sta;
|
|
|
|
|
|
if (sta->sdata->local->quiescing)
|
|
|
return;
|
|
@@ -696,11 +697,8 @@ static void mesh_plink_timer(unsigned long data)
|
|
|
|
|
|
static inline void mesh_plink_timer_set(struct sta_info *sta, u32 timeout)
|
|
|
{
|
|
|
- sta->mesh->plink_timer.expires = jiffies + msecs_to_jiffies(timeout);
|
|
|
- sta->mesh->plink_timer.data = (unsigned long) sta;
|
|
|
- sta->mesh->plink_timer.function = mesh_plink_timer;
|
|
|
sta->mesh->plink_timeout = timeout;
|
|
|
- add_timer(&sta->mesh->plink_timer);
|
|
|
+ mod_timer(&sta->mesh->plink_timer, jiffies + msecs_to_jiffies(timeout));
|
|
|
}
|
|
|
|
|
|
static bool llid_in_use(struct ieee80211_sub_if_data *sdata,
|