--- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c +++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_main.c @@ -2932,7 +2932,7 @@ static struct rwnx_vif *rwnx_interface_a vif->ap.generation = 0; vif->ap.mesh_pm = NL80211_MESH_POWER_ACTIVE; vif->ap.next_mesh_pm = NL80211_MESH_POWER_ACTIVE; - // no break + fallthrough; case NL80211_IFTYPE_AP: INIT_LIST_HEAD(&vif->ap.sta_list); memset(&vif->ap.bcn, 0, sizeof(vif->ap.bcn)); @@ -3349,7 +3349,7 @@ static int rwnx_cfg80211_change_iface(st INIT_LIST_HEAD(&vif->ap.proxy_list); vif->ap.create_path = false; vif->ap.generation = 0; - // no break + fallthrough; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: INIT_LIST_HEAD(&vif->ap.sta_list); @@ -5257,6 +5257,7 @@ static int rwnx_cfg80211_mgmt_tx(struct switch (RWNX_VIF_TYPE(rwnx_vif)) { case NL80211_IFTYPE_AP_VLAN: rwnx_vif = rwnx_vif->ap_vlan.master; + fallthrough; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: case NL80211_IFTYPE_MESH_POINT: @@ -5569,7 +5570,7 @@ rwnx_cfg80211_tdls_mgmt(struct wiphy *wi printk("%s: only one TDLS link is supported!\n", __func__); status_code = WLAN_STATUS_REQUEST_DECLINED; } - /* fall-through */ + fallthrough; case WLAN_TDLS_SETUP_REQUEST: case WLAN_TDLS_TEARDOWN: case WLAN_TDLS_DISCOVERY_REQUEST: @@ -5889,6 +5890,7 @@ static int rwnx_fill_station_info(struct #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0) case FORMATMOD_HE_MU: sinfo->rxrate.he_ru_alloc = rx_vect1->he.ru_size; + fallthrough; case FORMATMOD_HE_SU: case FORMATMOD_HE_ER: sinfo->rxrate.flags = RATE_INFO_FLAGS_HE_MCS; --- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c +++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_msg_tx.c @@ -524,7 +524,7 @@ int rwnx_send_add_if (struct rwnx_hw *rw //case NL80211_IFTYPE_P2P_DEVICE: case NL80211_IFTYPE_P2P_CLIENT: add_if_req_param->p2p = true; - // no break + fallthrough; #endif /* CONFIG_RWNX_FULLMAC */ case NL80211_IFTYPE_STATION: add_if_req_param->type = MM_STA; @@ -537,7 +537,7 @@ int rwnx_send_add_if (struct rwnx_hw *rw #ifdef CONFIG_RWNX_FULLMAC case NL80211_IFTYPE_P2P_GO: add_if_req_param->p2p = true; - // no break + fallthrough; #endif /* CONFIG_RWNX_FULLMAC */ case NL80211_IFTYPE_AP: add_if_req_param->type = MM_AP; --- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tdls.c +++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tdls.c @@ -255,17 +255,24 @@ rwnx_add_wmm_info_ie(struct sk_buff *skb static u8 rwnx_ac_from_wmm(int ac) { switch (ac) { - default: - WARN_ON_ONCE(1); case 0: return AC_BE; + break; case 1: return AC_BK; + break; case 2: return AC_VI; + break; case 3: return AC_VO; + break; + default: + WARN_ON_ONCE(1); + break; } + + return 0; } static void --- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tx.c +++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_tx.c @@ -325,6 +325,7 @@ u16 rwnx_select_txq(struct rwnx_vif *rwn /* AP_VLAN interface is not used for a 4A STA, fallback searching sta amongs all AP's clients */ rwnx_vif = rwnx_vif->ap_vlan.master; + fallthrough; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: { --- a/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_txq.c +++ b/src/SDIO/driver_fw/driver/aic8800/aic8800_fdrv/rwnx_txq.c @@ -635,6 +635,7 @@ static inline void rwnx_txq_vif_for_each } case NL80211_IFTYPE_AP_VLAN: rwnx_vif = rwnx_vif->ap_vlan.master; + fallthrough; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_MESH_POINT: case NL80211_IFTYPE_P2P_GO: