Merge tag 'rpmsg-v4.15' of git://github.com/andersson/remoteproc
[platform/kernel/linux-rpi.git] / net / mac80211 / mesh_plink.c
index dc8e10f..e2d00cc 100644 (file)
@@ -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,