On Tue, Oct 01, 2019 at 10:06:29PM +0200, Johannes Berg wrote:
> index f1cdcd61c54a..b74e758cce09 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
> @@ -10489,7 +10489,7 @@ int rt2800_ampdu_action(struct ieee80211_hw *hw,
> struct ieee80211_vif *vif,
> */
> break;
> case IEEE80211_AMPDU_TX_START:
> - ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
> + ret = IEEE80211_AMPDU_TX_START_IMMEDIATE;
> break;
> case IEEE80211_AMPDU_TX_STOP_CONT:
> case IEEE80211_AMPDU_TX_STOP_FLUSH:
<snip>
> +#define IEEE80211_AMPDU_TX_START_IMMEDIATE 1
> +
> /**
On rt2x00 we already return 1 for case we do not have free HW WCID
number for a remote station.
if (sta_priv->wcid > WCID_END)
return 1;
So we should change that to some other error code i.e. -ENOSPC.
Stanislaw