Hi Johannes, I love your patch! Yet something to improve: [auto build test ERROR on wireless-drivers-next/master] [cannot apply to v5.4-rc1 next-20191001] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Johannes-Berg/mac80211-simplify-TX-aggregation-start/20191002-113555 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sparc64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): drivers/net/wireless/rsi/rsi_91x_mac80211.c: In function 'rsi_mac80211_ampdu_action': >> drivers/net/wireless/rsi/rsi_91x_mac80211.c:1144:3: error: expected ';' before 'break' break; ^~~~~ >> drivers/net/wireless/rsi/rsi_91x_mac80211.c:1143:10: warning: this statement may fall through [-Wimplicit-fallthrough=] status = IEEE80211_AMPDU_TX_START_IMMEDIATE drivers/net/wireless/rsi/rsi_91x_mac80211.c:1146:2: note: here case IEEE80211_AMPDU_TX_STOP_CONT: ^~~~ vim +1144 drivers/net/wireless/rsi/rsi_91x_mac80211.c dad0d04fa7ba41 Fariya Fatima 2014-03-16 1064 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1065 /** dad0d04fa7ba41 Fariya Fatima 2014-03-16 1066 * rsi_mac80211_ampdu_action() - This function selects the AMPDU action for dad0d04fa7ba41 Fariya Fatima 2014-03-16 1067 * the corresponding mlme_action flag and dad0d04fa7ba41 Fariya Fatima 2014-03-16 1068 * informs the f/w regarding this. dad0d04fa7ba41 Fariya Fatima 2014-03-16 1069 * @hw: Pointer to the ieee80211_hw structure. dad0d04fa7ba41 Fariya Fatima 2014-03-16 1070 * @vif: Pointer to the ieee80211_vif structure. 50ea05efaf3bed Sara Sharon 2015-12-30 1071 * @params: Pointer to A-MPDU action parameters dad0d04fa7ba41 Fariya Fatima 2014-03-16 1072 * dad0d04fa7ba41 Fariya Fatima 2014-03-16 1073 * Return: status: 0 on success, negative error code on failure. dad0d04fa7ba41 Fariya Fatima 2014-03-16 1074 */ dad0d04fa7ba41 Fariya Fatima 2014-03-16 1075 static int rsi_mac80211_ampdu_action(struct ieee80211_hw *hw, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1076 struct ieee80211_vif *vif, 50ea05efaf3bed Sara Sharon 2015-12-30 1077 struct ieee80211_ampdu_params *params) dad0d04fa7ba41 Fariya Fatima 2014-03-16 1078 { dad0d04fa7ba41 Fariya Fatima 2014-03-16 1079 int status = -EOPNOTSUPP; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1080 struct rsi_hw *adapter = hw->priv; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1081 struct rsi_common *common = adapter->priv; 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1082 struct rsi_sta *rsta = NULL; 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1083 u16 seq_no = 0, seq_start = 0; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1084 u8 ii = 0; 50ea05efaf3bed Sara Sharon 2015-12-30 1085 struct ieee80211_sta *sta = params->sta; 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1086 u8 sta_id = 0; 50ea05efaf3bed Sara Sharon 2015-12-30 1087 enum ieee80211_ampdu_mlme_action action = params->action; 50ea05efaf3bed Sara Sharon 2015-12-30 1088 u16 tid = params->tid; 50ea05efaf3bed Sara Sharon 2015-12-30 1089 u16 *ssn = ¶ms->ssn; 50ea05efaf3bed Sara Sharon 2015-12-30 1090 u8 buf_size = params->buf_size; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1091 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1092 for (ii = 0; ii < RSI_MAX_VIFS; ii++) { dad0d04fa7ba41 Fariya Fatima 2014-03-16 1093 if (vif == adapter->vifs[ii]) dad0d04fa7ba41 Fariya Fatima 2014-03-16 1094 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1095 } dad0d04fa7ba41 Fariya Fatima 2014-03-16 1096 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1097 mutex_lock(&common->mutex); 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1098 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1099 if (ssn != NULL) dad0d04fa7ba41 Fariya Fatima 2014-03-16 1100 seq_no = *ssn; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1101 c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1102 if ((vif->type == NL80211_IFTYPE_AP) || c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1103 (vif->type == NL80211_IFTYPE_P2P_GO)) { 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1104 rsta = rsi_find_sta(common, sta->addr); 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1105 if (!rsta) { 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1106 rsi_dbg(ERR_ZONE, "No station mapped\n"); 0270639e899e21 Dan Carpenter 2017-08-25 1107 status = 0; 0270639e899e21 Dan Carpenter 2017-08-25 1108 goto unlock; 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1109 } 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1110 sta_id = rsta->sta_id; 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1111 } 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1112 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1113 rsi_dbg(INFO_ZONE, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1114 "%s: AMPDU action tid=%d ssn=0x%x, buf_size=%d sta_id=%d\n", 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1115 __func__, tid, seq_no, buf_size, sta_id); 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1116 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1117 switch (action) { dad0d04fa7ba41 Fariya Fatima 2014-03-16 1118 case IEEE80211_AMPDU_RX_START: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1119 status = rsi_send_aggregation_params_frame(common, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1120 tid, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1121 seq_no, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1122 buf_size, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1123 STA_RX_ADDBA_DONE, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1124 sta_id); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1125 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1126 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1127 case IEEE80211_AMPDU_RX_STOP: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1128 status = rsi_send_aggregation_params_frame(common, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1129 tid, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1130 0, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1131 buf_size, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1132 STA_RX_DELBA, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1133 sta_id); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1134 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1135 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1136 case IEEE80211_AMPDU_TX_START: c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1137 if ((vif->type == NL80211_IFTYPE_STATION) || c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1138 (vif->type == NL80211_IFTYPE_P2P_CLIENT)) dad0d04fa7ba41 Fariya Fatima 2014-03-16 1139 common->vif_info[ii].seq_start = seq_no; c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1140 else if ((vif->type == NL80211_IFTYPE_AP) || c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1141 (vif->type == NL80211_IFTYPE_P2P_GO)) 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1142 rsta->seq_start[tid] = seq_no; bec07d6ec29366 Johannes Berg 2019-10-01 @1143 status = IEEE80211_AMPDU_TX_START_IMMEDIATE dad0d04fa7ba41 Fariya Fatima 2014-03-16 @1144 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1145 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1146 case IEEE80211_AMPDU_TX_STOP_CONT: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1147 case IEEE80211_AMPDU_TX_STOP_FLUSH: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1148 case IEEE80211_AMPDU_TX_STOP_FLUSH_CONT: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1149 status = rsi_send_aggregation_params_frame(common, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1150 tid, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1151 seq_no, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1152 buf_size, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1153 STA_TX_DELBA, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1154 sta_id); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1155 if (!status) dad0d04fa7ba41 Fariya Fatima 2014-03-16 1156 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1157 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1158 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1159 case IEEE80211_AMPDU_TX_OPERATIONAL: c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1160 if ((vif->type == NL80211_IFTYPE_STATION) || c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1161 (vif->type == NL80211_IFTYPE_P2P_CLIENT)) 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1162 seq_start = common->vif_info[ii].seq_start; c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1163 else if ((vif->type == NL80211_IFTYPE_AP) || c7245c0975f134 Prameela Rani Garnepudi 2017-08-30 1164 (vif->type == NL80211_IFTYPE_P2P_GO)) 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1165 seq_start = rsta->seq_start[tid]; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1166 status = rsi_send_aggregation_params_frame(common, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1167 tid, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1168 seq_start, dad0d04fa7ba41 Fariya Fatima 2014-03-16 1169 buf_size, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1170 STA_TX_ADDBA_DONE, 32be57a666a51c Prameela Rani Garnepudi 2017-08-16 1171 sta_id); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1172 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1173 dad0d04fa7ba41 Fariya Fatima 2014-03-16 1174 default: a53e8f3edaa0f2 Colin Ian King 2018-05-26 1175 rsi_dbg(ERR_ZONE, "%s: Unknown AMPDU action\n", __func__); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1176 break; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1177 } dad0d04fa7ba41 Fariya Fatima 2014-03-16 1178 0270639e899e21 Dan Carpenter 2017-08-25 1179 unlock: dad0d04fa7ba41 Fariya Fatima 2014-03-16 1180 mutex_unlock(&common->mutex); dad0d04fa7ba41 Fariya Fatima 2014-03-16 1181 return status; dad0d04fa7ba41 Fariya Fatima 2014-03-16 1182 } dad0d04fa7ba41 Fariya Fatima 2014-03-16 1183 :::::: The code at line 1144 was first introduced by commit :::::: dad0d04fa7ba41ce603a01e8e64967650303e9a2 rsi: Add RS9113 wireless driver :::::: TO: Fariya Fatima :::::: CC: John W. Linville --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation