mac80211: use common work struct
IBSS, managed and mesh modes all have their own work struct, and in the future we want to also use it in other modes to process frames from the now common skb queue. This also makes the skb queue and work safe to use from other interface types. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
35f20c14a1
commit
64592c8fc0
@@ -805,14 +805,14 @@ static void mesh_queue_preq(struct mesh_path *mpath, u8 flags)
|
||||
spin_unlock(&ifmsh->mesh_preq_queue_lock);
|
||||
|
||||
if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata)))
|
||||
ieee80211_queue_work(&sdata->local->hw, &ifmsh->work);
|
||||
ieee80211_queue_work(&sdata->local->hw, &sdata->work);
|
||||
|
||||
else if (time_before(jiffies, ifmsh->last_preq)) {
|
||||
/* avoid long wait if did not send preqs for a long time
|
||||
* and jiffies wrapped around
|
||||
*/
|
||||
ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
|
||||
ieee80211_queue_work(&sdata->local->hw, &ifmsh->work);
|
||||
ieee80211_queue_work(&sdata->local->hw, &sdata->work);
|
||||
} else
|
||||
mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq +
|
||||
min_preq_int_jiff(sdata));
|
||||
|
Reference in New Issue
Block a user