diff --git a/core/hdd/src/wlan_hdd_wmm.c b/core/hdd/src/wlan_hdd_wmm.c index 7ecbb79b0995..72ce6f77111c 100644 --- a/core/hdd/src/wlan_hdd_wmm.c +++ b/core/hdd/src/wlan_hdd_wmm.c @@ -1643,6 +1643,19 @@ void hdd_wmm_classify_pkt(hdd_adapter_t *adapter, return; } +/** + * __hdd_get_queue_index() - get queue index + * @up: user priority + * + * Return: queue_index + */ +static uint16_t __hdd_get_queue_index(uint16_t up) +{ + if (qdf_unlikely(up >= ARRAY_SIZE(hdd_linux_up_to_ac_map))) + return HDD_LINUX_AC_BE; + return hdd_linux_up_to_ac_map[up]; +} + #ifdef QCA_LL_TX_FLOW_CONTROL_V2 /** * hdd_get_queue_index() - get queue index @@ -1656,14 +1669,13 @@ uint16_t hdd_get_queue_index(uint16_t up, bool is_eapol) { if (qdf_unlikely(is_eapol == true)) return HDD_LINUX_AC_HI_PRIO; - else - return hdd_linux_up_to_ac_map[up]; + return __hdd_get_queue_index(up); } #else static uint16_t hdd_get_queue_index(uint16_t up, bool is_eapol) { - return hdd_linux_up_to_ac_map[up]; + return __hdd_get_queue_index(up); } #endif