Search Linux Wireless

Re: [RFC 1/2] mac80211: Stop BA session event from device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2010-11-25 at 16:39 +0200, Shahar Levi wrote:

> +void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 tid,
> +				  const u8 *addr);

missing docs

> +void ieee80211_stop_rx_ba_session(struct ieee80211_vif *vif, u16 tid,
> +				  const u8 *addr)
> +{
> +	struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
> +	struct sta_info *sta = sta_info_get(sdata, addr);
> +
> +	__ieee80211_stop_rx_ba_session(sta, tid, WLAN_BACK_INITIATOR, 0, true);
> +}
> +EXPORT_SYMBOL(ieee80211_stop_rx_ba_session);

Locking-wise, this is a disaster, as the function will acquire a mutex
that it also holds across other calls into the driver. It would seem
that this should have caused lockdep to warn you about ABBA style
deadlock since you call this with wl->mutex held, and previously you
said you were going to acquire that mutex from ampdu_action.

This should use a similar trick to the one used in TX aggregation.

johannes

--
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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux