summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuanyuan Liu <yuanliu@codeaurora.org>2016-06-23 11:21:34 -0700
committerNandini Suresh <snandini@codeaurora.org>2016-07-14 16:53:12 -0700
commit90fd18c1418b46f56c30eedfa16a7dbfd68a318f (patch)
tree07b6d637a7db2e37fd5546af576b91363f12e270
parenta1679b62b9173bae6889c05a4781fcc7b6b4b3b4 (diff)
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
-rw-r--r--core/bmi/src/ol_fw.c10
1 files 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;