2009/8/21 reinette chatre <reinette.chatre@xxxxxxxxx>: > Hi Gábor, > > On Fri, 2009-08-21 at 10:24 -0700, Gábor Stefanik wrote: > >> For some odd reason, reverting Wei-Yi Guy's patch makes the bug go >> away > > ah - now I see. The driver defaulted to monitor mode in iwl_mac_start. > This is not correct and this patch rightly removed that code. > >> ... should we do that instead for 2.6.31? (I'm all for it, if this >> patch is not the right thing to do, as Wey-Yi's patch was not a bug >> fix, just a cleanup.) > > No, this patch was more than code cleanup - it changed the driver to > behave correctly wrt monitor interface type. Unfortunately the > workaround to get packet injection working was not apparent enough and > was missed. > > >> My guess is that the "default to MONITOR mode" >> change is the culprit. > > yeah ... > > >> Maybe we should check info->flags & IEEE80211_TX_CTL_INJECTED >> instead... is there a way to access the ieee80211_tx_info structure >> from this function (e.g. through priv)? > > No, but it may not be necessary. Why is is necessary to call this > function in the first place if you know this is an injection packet? > Specifically, in iwl_tx_skb and iwl3945_tx_skb (where ieee80211_tx_info) > is known) there could just be a test if this is an injected packet, if > it is, then do not call iwl_get_sta_id, but just use "bcast_sta_id" > directly. Would this work? Is a test for monitor mode still needed in > this case? That can be done, yes. It is also a good idea to convert iwl_is_monitor_mode(priv) calls with TX_CTL_INJECTED checks, as mac80211 will set IEEE80211_TX_CTL_INJECTED if and only if the packet arrived from a monitor interface. (However, when I submitted the first patches to iwlwifi to enable injection, they were rejected specifically because I checked INJECTED in iwl_tx_skb/iwl394_tx_skb, rather than adding a monitor mode case to iwl_get_sta_id... times change I guess.) I'll submit a patch for this. > > Reinette > > > -- Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html