diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index 645b40897d31..b59c6ecacc34 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -2150,6 +2150,13 @@ QDF_STATUS hdd_rx_pkt_thread_enqueue_cbk(void *adapter, return hdd_adapter->rx_stack(adapter, nbuf_list); vdev_id = hdd_adapter->vdev_id; + + if (vdev_id >= WLAN_UMAC_VDEV_ID_MAX) { + hdd_info_rl("Vdev invalid. Dropping packets"); + qdf_nbuf_list_free(nbuf_list); + return QDF_STATUS_E_NETDOWN; + } + head_ptr = nbuf_list; while (head_ptr) { qdf_nbuf_cb_update_vdev_id(head_ptr, vdev_id);