Jelajahi Sumber

qcacld-3.0: Fix assert for NULL vdev in csr_nonscan_pending_ll_next

If SSR during sme close session when interface down and vdev
destroy, qdf_session_close_event is completed forcely before
peer detached, vdev becomes LOGICALLY_DELETED instead of
destroyed actually for peer ref count is held.

When bss is deleted and eWNI_SME_JOIN_RSP is handled,
is_disconnect_pending-> csr_nonscan_pending_ll_next is called,
wlan_objmgr_get_vdev_by_id_from_psoc return NULL,  cmd.vdev is
NULL, NULL pointer dereference will happen.

Change-Id: I790a12483c2b9f967da9ced387935f93a6168e81
CRs-Fixed: 2316960
Jianmin Zhu 6 tahun lalu
induk
melakukan
9058c52fb6
1 mengubah file dengan 2 tambahan dan 1 penghapusan
  1. 2 1
      core/sme/src/csr/csr_util.c

+ 2 - 1
core/sme/src/csr/csr_util.c

@@ -564,7 +564,8 @@ tListElem *csr_nonscan_pending_ll_next(struct sAniSirGlobal *mac_ctx,
 	sme_cmd = GET_BASE_ADDR(entry, tSmeCmd, Link);
 	cmd.cmd_id = sme_cmd->cmd_id;
 	cmd.cmd_type = csr_get_cmd_type(sme_cmd);
-	cmd.vdev = wlan_objmgr_get_vdev_by_id_from_psoc(mac_ctx->psoc,
+	cmd.vdev = wlan_objmgr_get_vdev_by_id_from_psoc_no_state(
+				mac_ctx->psoc,
 				sme_cmd->sessionId, WLAN_LEGACY_SME_ID);
 	tcmd = wlan_serialization_get_pending_list_next_node_using_psoc(
 				mac_ctx->psoc, &cmd, false);