--- a/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_main.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_main.c @@ -3194,7 +3194,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)); @@ -3649,7 +3649,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); @@ -5795,6 +5795,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: @@ -6456,6 +6457,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/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_msg_tx.c @@ -614,7 +614,7 @@ int rwnx_send_add_if(struct rwnx_hw *rwn //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; @@ -627,7 +627,7 @@ int rwnx_send_add_if(struct rwnx_hw *rwn #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/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_tdls.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_tdls.c @@ -261,17 +261,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/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_tx.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_tx.c @@ -328,6 +328,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/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_txq.c +++ b/src/USB/driver_fw/drivers/aic8800/aic8800_fdrv/rwnx_txq.c @@ -638,6 +638,7 @@ void rwnx_txq_vif_for_each_sta(struct rw } 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: