qcacmn: Deregister IPA handler from pdev during deinit

A htt message arrived after ipa context is freed as part of
deinitialization which was dereferenced by event handler
assigned to pdev->ipa_uc_op_cb, resulting in crash.
To fix this, during deinit pdev->ipa_uc_op_cb is deregistered
and assigned NULL before freeing up ipa context.

Change-Id: I8125cb104a538e88cda93960f7443129fabd850a
CRs-Fixed: 2793295
This commit is contained in:
Ananya Gupta
2020-10-09 21:32:34 +05:30
کامیت شده توسط snandini
والد f1bed41f65
کامیت 936ca8fe36
5فایلهای تغییر یافته به همراه49 افزوده شده و 0 حذف شده

مشاهده پرونده

@@ -1555,6 +1555,8 @@ struct cdp_ipa_ops {
void (*ipa_uc_op_cb_type)
(uint8_t *op_msg, void *osif_ctxt),
void *usr_ctxt);
void (*ipa_deregister_op_cb)(struct cdp_soc_t *soc_hdl,
uint8_t pdev_id);
QDF_STATUS (*ipa_get_stat)(struct cdp_soc_t *soc_hdl, uint8_t pdev_id);
qdf_nbuf_t (*ipa_tx_data_frame)(struct cdp_soc_t *soc_hdl,
uint8_t vdev_id, qdf_nbuf_t skb);