mac80211 : Fix mode change hard_start_xmit function
Abhijeet Kolekar [Fri, 12 Sep 2008 20:44:08 +0000 (13:44 -0700)]
When monitor mode is changed to BSS or IBSS, data trasnfer can not happen
because proper transmit function is not assigend for BSS ,IBSS mode.
This patch fixes this problem by assigning the ieee80211_subif_start_xmit
to device's hard_start_xmit function.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Zhu Yi <yi.zhu@intel.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

net/mac80211/iface.c

index a7ef028..a72fbeb 100644 (file)
@@ -624,6 +624,7 @@ static void ieee80211_setup_sdata(struct ieee80211_sub_if_data *sdata,
 
        /* and set some type-dependent values */
        sdata->vif.type = type;
+       sdata->dev->hard_start_xmit = ieee80211_subif_start_xmit;
 
        /* only monitor differs */
        sdata->dev->type = ARPHRD_ETHER;