From 90fd18c1418b46f56c30eedfa16a7dbfd68a318f Mon Sep 17 00:00:00 2001 From: Yuanyuan Liu Date: Thu, 23 Jun 2016 11:21:34 -0700 Subject: qcacld-3.0: Fix null qdf_dev pointer in ramdump handler Container_of returns invalid ol_ctx pointer which leads to a null pointer of qdf_dev. Fix this by directly request qdf_dev pointer from cds. Change-Id: I08910bb798b7992d550c9e061eed04a9b6f140d1 CRs-Fixed: 1033518 --- core/bmi/src/ol_fw.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/core/bmi/src/ol_fw.c b/core/bmi/src/ol_fw.c index ee7f9401fa5f..f654c9674ed7 100644 --- a/core/bmi/src/ol_fw.c +++ b/core/bmi/src/ol_fw.c @@ -473,17 +473,13 @@ static inline void ol_get_ramdump_mem(struct device *dev, int ol_copy_ramdump(struct hif_opaque_softc *scn) { int ret = -1; - struct hif_opaque_softc **ol_ctx_ptr = &scn; - struct ol_context *ol_ctx; - qdf_device_t qdf_dev; struct ramdump_info *info; + qdf_device_t qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE); - ol_ctx = container_of(ol_ctx_ptr, struct ol_context , scn); - if (!ol_ctx) { - BMI_ERR("%s: Invalid ol_ctx\n", __func__); + if (!qdf_dev) { + BMI_ERR("%s qdf_dev is NULL", __func__); return -EINVAL; } - qdf_dev = ol_ctx->qdf_dev; if (hif_get_bus_type(scn) == QDF_BUS_TYPE_SDIO) return 0; -- cgit v1.2.3