.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) 2014 Felix Fietkau <nbd@openwrt.org> |
---|
3 | 4 | * Copyright (C) 2015 Jakub Kicinski <kubakici@wp.pl> |
---|
4 | | - * |
---|
5 | | - * This program is free software; you can redistribute it and/or modify |
---|
6 | | - * it under the terms of the GNU General Public License version 2 |
---|
7 | | - * as published by the Free Software Foundation |
---|
8 | | - * |
---|
9 | | - * This program is distributed in the hope that it will be useful, |
---|
10 | | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
11 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
12 | | - * GNU General Public License for more details. |
---|
13 | 5 | */ |
---|
14 | 6 | |
---|
15 | 7 | #include "mt7601u.h" |
---|
.. | .. |
---|
359 | 351 | struct ieee80211_sta *sta = params->sta; |
---|
360 | 352 | enum ieee80211_ampdu_mlme_action action = params->action; |
---|
361 | 353 | u16 tid = params->tid; |
---|
362 | | - u16 *ssn = ¶ms->ssn; |
---|
| 354 | + u16 ssn = params->ssn; |
---|
363 | 355 | struct mt76_sta *msta = (struct mt76_sta *) sta->drv_priv; |
---|
364 | 356 | |
---|
365 | 357 | WARN_ON(msta->wcid.idx > GROUP_WCID(0)); |
---|
.. | .. |
---|
379 | 371 | case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT: |
---|
380 | 372 | break; |
---|
381 | 373 | case IEEE80211_AMPDU_TX_START: |
---|
382 | | - msta->agg_ssn[tid] = *ssn << 4; |
---|
383 | | - ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
---|
384 | | - break; |
---|
| 374 | + msta->agg_ssn[tid] = ssn << 4; |
---|
| 375 | + return IEEE80211_AMPDU_TX_START_IMMEDIATE; |
---|
385 | 376 | case IEEE80211_AMPDU_TX_STOP_CONT: |
---|
386 | 377 | ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
---|
387 | 378 | break; |
---|