qcacld-3.0: Add check to find IPA iface_ctx based on vdev_id
IPA APIs currently depend on the net_dev value to distinguish between the IPA iface_contexts, during setup and cleanup calls. Due to single net_dev multi vdev change, this check is not valid anymore and causes overwrite of the IPA iface contexts. This change adds a check to also compare the vdev_id along with net_dev to properly distinguish between the iface contexts. Change-Id: I9cbd827f0d6393a83a9aedb17d68c5f8fe143e05 CRs-Fixed: 3585635
Цей коміт міститься в:

зафіксовано
Rahul Choudhary

джерело
a32d78eca4
коміт
0f8629ae12
@@ -3124,7 +3124,8 @@ stopbss:
|
||||
ucfg_ipa_uc_disconnect_ap(hdd_ctx->pdev,
|
||||
adapter->dev);
|
||||
ucfg_ipa_cleanup_dev_iface(hdd_ctx->pdev,
|
||||
adapter->dev);
|
||||
adapter->dev,
|
||||
link_info->vdev_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -8896,11 +8896,15 @@ static inline
|
||||
void hdd_ipa_ap_disconnect_evt(struct hdd_context *hdd_ctx,
|
||||
struct hdd_adapter *adapter)
|
||||
{
|
||||
struct wlan_hdd_link_info *link_info;
|
||||
|
||||
link_info = adapter->deflink;
|
||||
if (ucfg_ipa_is_enabled()) {
|
||||
ucfg_ipa_uc_disconnect_ap(hdd_ctx->pdev,
|
||||
adapter->dev);
|
||||
ucfg_ipa_cleanup_dev_iface(hdd_ctx->pdev,
|
||||
adapter->dev);
|
||||
adapter->dev,
|
||||
link_info->vdev_id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9103,7 +9107,8 @@ hdd_sta_disconnect_and_cleanup(struct wlan_hdd_link_info *link_info)
|
||||
status = wlan_hdd_cm_issue_disconnect(link_info, reason, true);
|
||||
if (QDF_IS_STATUS_ERROR(status) && ucfg_ipa_is_enabled()) {
|
||||
hdd_err("STA disconnect failed");
|
||||
ucfg_ipa_uc_cleanup_sta(adapter->hdd_ctx->pdev, adapter->dev);
|
||||
ucfg_ipa_uc_cleanup_sta(adapter->hdd_ctx->pdev, adapter->dev,
|
||||
link_info->vdev_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
Посилання в новій задачі
Заблокувати користувача