qcacmn: add hif_grp_irq_deconfigure bus_ops to free ext grp IRQs

As per current design, in failure path of hdd_wlan_start_modules,
mem_free of hif_ext_group is done (in cds_dp_close) before
free_irq (in hdd_hif_close), during next hdd_wlan_start_modules,
request_irq adds new handler entry to the list in irq_desc, this
leads to a crash on accessing older stale entry from irq handler,
so adding a bus_ops hif_grp_irq_deconfigure to free ext grp IRQs.

Change-Id: I4d0a2bee1fabee388cea8a85226fae641165a8d5
CRs-Fixed: 2949400
This commit is contained in:
Vevek Venkatesan
2021-05-25 00:26:09 +05:30
committed by Madan Koyyalamudi
parent e914459b55
commit 7d79770907
16 changed files with 64 additions and 6 deletions

View File

@@ -1494,6 +1494,14 @@ int32_t hif_get_int_ctx_irq_num(struct hif_opaque_softc *softc,
*/
QDF_STATUS hif_configure_ext_group_interrupts(struct hif_opaque_softc *hif_ctx);
/**
* hif_deconfigure_ext_group_interrupts() - Deconfigure ext group intrrupts
* @hif_ctx: hif opaque context
*
* Return: None
*/
void hif_deconfigure_ext_group_interrupts(struct hif_opaque_softc *hif_ctx);
/**
* hif_register_ext_group() - API to register external group
* interrupt handler.