> - /* drop all data frame if we are not associated */ > - if ((!iwl3945_is_associated(priv) || > + /* drop all data frame if we are not associated and not monitoring */ > + if (((!iwl3945_is_associated(priv) && priv->iw_mode != > IEEE80211_IF_TYPE_MNTR) || > ((priv->iw_mode == IEEE80211_IF_TYPE_STA) && !priv->assoc_id)) && > ((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_DATA)) { > - IWL_DEBUG_DROP("Dropping - !iwl3945_is_associated\n"); > + IWL_DEBUG_DROP("Dropping - !iwl3945_is_associated outside monitor mode\n"); > goto drop_unlock; > } This makes injection not work when you're not exclusively in monitor mode. Yes, it may break the spec to be sending frames to an arbitrary station, but it's useful for all kinds of things including testing to have a monitor and a regular interface working at the same time. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part