qcacmn: Get vdev based on vdev id

Driver gets vdev by wlan_objmgr_pdev_get_first_vdev and returns wrong
vdev in some platforms, and then gets wrong channel/phy_mode. This
change gets vdev by id and fix this issue.

Change-Id: I814d516361238afbd0345bc362c286d1cb55a7d4
CRs-Fixed: 2933525
Этот коммит содержится в:
Wu Gao
2021-04-29 14:40:37 +08:00
коммит произвёл Madan Koyyalamudi
родитель ef543f271e
Коммит 672bbe5490

Просмотреть файл

@@ -797,7 +797,11 @@ void target_if_cfr_rx_tlv_process(struct wlan_objmgr_pdev *pdev, void *nbuf)
goto unlock;
}
vdev = wlan_objmgr_pdev_get_first_vdev(pdev, WLAN_CFR_ID);
if (pcfr->rcc_param.vdev_id == CFR_INVALID_VDEV_ID)
vdev = wlan_objmgr_pdev_get_first_vdev(pdev, WLAN_CFR_ID);
else
vdev = wlan_objmgr_get_vdev_by_id_from_pdev(
pdev, pcfr->rcc_param.vdev_id, WLAN_CFR_ID);
if (qdf_unlikely(!vdev)) {
cfr_debug("vdev is null\n");
goto unlock;