From: Prameela Rani Garnepudi <[email protected]>

P2P Go condition is added wherever AP mode is there
in aggregation path.

Signed-off-by: Prameela Rani Garnepudi <[email protected]>
---
 drivers/net/wireless/rsi/rsi_91x_mac80211.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/rsi/rsi_91x_mac80211.c 
b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
index 09ad909..79426a2 100644
--- a/drivers/net/wireless/rsi/rsi_91x_mac80211.c
+++ b/drivers/net/wireless/rsi/rsi_91x_mac80211.c
@@ -1005,7 +1005,8 @@ static int rsi_mac80211_ampdu_action(struct ieee80211_hw 
*hw,
        if (ssn != NULL)
                seq_no = *ssn;
 
-       if (vif->type == NL80211_IFTYPE_AP) {
+       if ((vif->type == NL80211_IFTYPE_AP) ||
+           (vif->type == NL80211_IFTYPE_P2P_GO)) {
                rsta = rsi_find_sta(common, sta->addr);
                if (!rsta) {
                        rsi_dbg(ERR_ZONE, "No station mapped\n");
@@ -1039,9 +1040,11 @@ static int rsi_mac80211_ampdu_action(struct ieee80211_hw 
*hw,
                break;
 
        case IEEE80211_AMPDU_TX_START:
-               if (vif->type == NL80211_IFTYPE_STATION)
+               if ((vif->type == NL80211_IFTYPE_STATION) ||
+                   (vif->type == NL80211_IFTYPE_P2P_CLIENT))
                        common->vif_info[ii].seq_start = seq_no;
-               else if (vif->type == NL80211_IFTYPE_AP)
+               else if ((vif->type == NL80211_IFTYPE_AP) ||
+                        (vif->type == NL80211_IFTYPE_P2P_GO))
                        rsta->seq_start[tid] = seq_no;
                ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
                status = 0;
@@ -1061,9 +1064,11 @@ static int rsi_mac80211_ampdu_action(struct ieee80211_hw 
*hw,
                break;
 
        case IEEE80211_AMPDU_TX_OPERATIONAL:
-               if (vif->type == NL80211_IFTYPE_STATION)
+               if ((vif->type == NL80211_IFTYPE_STATION) ||
+                   (vif->type == NL80211_IFTYPE_P2P_CLIENT))
                        seq_start = common->vif_info[ii].seq_start;
-               else if (vif->type == NL80211_IFTYPE_AP)
+               else if ((vif->type == NL80211_IFTYPE_AP) ||
+                        (vif->type == NL80211_IFTYPE_P2P_GO))
                        seq_start = rsta->seq_start[tid];
                status = rsi_send_aggregation_params_frame(common,
                                                           tid,
-- 
2.7.4

Reply via email to