On Monday, August 29, 2011 16:32:12 you wrote: > @@ -380,7 +382,8 @@ int ieee80211_start_tx_ba_session(struct ieee80211_sta > *pubsta, u16 tid, > */ > if (sdata->vif.type != NL80211_IFTYPE_STATION && > sdata->vif.type != NL80211_IFTYPE_AP_VLAN && > - sdata->vif.type != NL80211_IFTYPE_AP) > + sdata->vif.type != NL80211_IFTYPE_AP && > + sdata->vif.type != NL80211_IFTYPE_ADHOC) > return -EINVAL; You should update the comment regarding IBSS mode direct above this check too. > + /* update HT IE. If not yet existing, create one */ > + nskb = skb_copy(skb, GFP_ATOMIC); > + ht_ie = (u8 *)cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, > + (const u8 *)(nskb->data + 24 + > + sizeof(mgmt->u.beacon)), > + nskb->len - 24 - > + sizeof(mgmt->u.beacon)); > + if (!ht_ie) > + ht_ie = skb_put(nskb, 4 + > + sizeof(struct ieee80211_ht_cap) + > + sizeof(struct ieee80211_ht_info)); AFAIK, you can not safely assume that you have enough room left for skb_put(). You might trigger a skb_over_panic(). > @@ -2160,7 +2160,8 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) > */ > if (sdata->vif.type != NL80211_IFTYPE_STATION && > sdata->vif.type != NL80211_IFTYPE_AP_VLAN && > - sdata->vif.type != NL80211_IFTYPE_AP) > + sdata->vif.type != NL80211_IFTYPE_AP && > + sdata->vif.type != NL80211_IFTYPE_ADHOC) > break; Also requires a "comment update". Cheers, Marek -- 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