diff options
| -rw-r--r-- | hif/src/ce/ce_main.c | 1 | ||||
| -rw-r--r-- | hif/src/hif_main.c | 7 | ||||
| -rw-r--r-- | hif/src/hif_main.h | 3 |
3 files changed, 10 insertions, 1 deletions
diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index 2cd0ec6a0bed..2ea2280af24d 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -2860,6 +2860,7 @@ static inline void hif_config_rri_on_ddr(struct hif_softc *scn) scn->qdf_dev->dev, (CE_COUNT*sizeof(uint32_t)), &paddr_rri_on_ddr); + scn->paddr_rri_on_ddr = paddr_rri_on_ddr; low_paddr = BITS0_TO_31(paddr_rri_on_ddr); high_paddr = BITS32_TO_35(paddr_rri_on_ddr); diff --git a/hif/src/hif_main.c b/hif/src/hif_main.c index fa678cf0a5e4..60159c890c5a 100644 --- a/hif/src/hif_main.c +++ b/hif/src/hif_main.c @@ -447,6 +447,13 @@ void hif_close(struct hif_opaque_softc *hif_ctx) qdf_mem_free(hw_name); } + if (scn->vaddr_rri_on_ddr) + qdf_mem_free_consistent(scn->qdf_dev, scn->qdf_dev->dev, + (CE_COUNT*sizeof(uint32_t)), + scn->vaddr_rri_on_ddr, scn->paddr_rri_on_ddr, + 0); + + scn->vaddr_rri_on_ddr = NULL; hif_bus_close(scn); qdf_mem_free(scn); } diff --git a/hif/src/hif_main.h b/hif/src/hif_main.h index aac91095b7d3..aa5cdaad8e98 100644 --- a/hif/src/hif_main.h +++ b/hif/src/hif_main.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -147,6 +147,7 @@ struct hif_softc { atomic_t active_tasklet_cnt; atomic_t link_suspended; uint32_t *vaddr_rri_on_ddr; + qdf_dma_addr_t paddr_rri_on_ddr; int linkstate_vote; bool fastpath_mode_on; atomic_t tasklet_from_intr; |
