mac80211: fix compilation of mesh (although its disabled)
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Tue, 4 Aug 2009 22:06:26 +0000 (15:06 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 14 Aug 2009 13:12:40 +0000 (09:12 -0400)
Mesh is currently disabled on mac80211, its marked
as broken. This patch gets it to compile though,
to account for the mac80211 workqueue changes.
There was a simple typo in the patches for mesh
for the workqueue migration, but we never compile
tested it as we couldn't even select mesh as its
broken. Lets at least let it compile for those
interested in getting it fixed.

Reported-by: Pat Erley <pat-lkml@erley.org>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mesh.c
net/mac80211/mesh_hwmp.c

index 2f4f518ab45c2738eade30130a0b6fc84de2a701..8c068e215fb856e7474d3cea20946edf83b7c5c6 100644 (file)
@@ -54,7 +54,7 @@ static void ieee80211_mesh_housekeeping_timer(unsigned long data)
                return;
        }
 
-       ieee80211_queue_work(local->hw.workqueue, &ifmsh->work);
+       ieee80211_queue_work(&local->hw, &ifmsh->work);
 }
 
 /**
@@ -357,7 +357,7 @@ static void ieee80211_mesh_path_timer(unsigned long data)
                return;
        }
 
-       ieee80211_queue_work(local->hw.workqueue, &ifmsh->work);
+       ieee80211_queue_work(&local->hw, &ifmsh->work);
 }
 
 struct mesh_table *mesh_table_grow(struct mesh_table *tbl)
@@ -471,7 +471,7 @@ void ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata)
        struct ieee80211_local *local = sdata->local;
 
        ifmsh->housekeeping = true;
-       ieee80211_queue_work(local->hw.workqueue, &ifmsh->work);
+       ieee80211_queue_work(&local->hw, &ifmsh->work);
        ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON |
                                                BSS_CHANGED_BEACON_ENABLED);
 }
@@ -619,7 +619,7 @@ void ieee80211_mesh_notify_scan_completed(struct ieee80211_local *local)
        rcu_read_lock();
        list_for_each_entry_rcu(sdata, &local->interfaces, list)
                if (ieee80211_vif_is_mesh(&sdata->vif))
-                       ieee80211_queue_work(local->hw.workqueue, &sdata->u.mesh.work);
+                       ieee80211_queue_work(&local->hw, &sdata->u.mesh.work);
        rcu_read_unlock();
 }
 
@@ -692,7 +692,7 @@ ieee80211_mesh_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
        case IEEE80211_STYPE_PROBE_RESP:
        case IEEE80211_STYPE_BEACON:
                skb_queue_tail(&ifmsh->skb_queue, skb);
-               ieee80211_queue_work(local->hw.workqueue, &ifmsh->work);
+               ieee80211_queue_work(&local->hw, &ifmsh->work);
                return RX_QUEUED;
        }
 
index 11ab71a68ff99957a2bfc14180e7206095dc6d94..e1a763ea1e39c3670ee04b4d252d78d1a67d45fa 100644 (file)
@@ -660,14 +660,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.workqueue, &ifmsh->work);
+               ieee80211_queue_work(&sdata->local->hw, &ifmsh->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.workqueue, &ifmsh->work);
+               ieee80211_queue_work(&sdata->local->hw, &ifmsh->work);
        } else
                mod_timer(&ifmsh->mesh_path_timer, ifmsh->last_preq +
                                                min_preq_int_jiff(sdata));