From 96adc9685e202d44043bfa9a9a3792dc7aac6ef5 Mon Sep 17 00:00:00 2001 From: Karthik Reddy Katta Date: Thu, 4 Feb 2016 12:27:27 +0530 Subject: [PATCH] ASoC: wcd-mbhc: Add pointer validation checks in wcd-mbhc-v2.c Check if 'mbhc_cb' is NULL in wcd_mbhc_stop() before dereferrencing. CRs-Fixed: 972101 Change-Id: I3b2348bddb071e5bf7bc2e5d6885bb3c1ba2c195 Signed-off-by: Karthik Reddy Katta --- sound/soc/codecs/wcd-mbhc-v2.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/wcd-mbhc-v2.c b/sound/soc/codecs/wcd-mbhc-v2.c index 74287a1e74cb..e04b12b698ce 100644 --- a/sound/soc/codecs/wcd-mbhc-v2.c +++ b/sound/soc/codecs/wcd-mbhc-v2.c @@ -2251,11 +2251,14 @@ void wcd_mbhc_stop(struct wcd_mbhc *mbhc) } mbhc->current_plug = MBHC_PLUG_TYPE_NONE; mbhc->hph_status = 0; - mbhc->mbhc_cb->irq_control(mbhc->codec, mbhc->intr_ids->hph_left_ocp, - false); - mbhc->mbhc_cb->irq_control(mbhc->codec, mbhc->intr_ids->hph_right_ocp, - false); - + if (mbhc->mbhc_cb && mbhc->mbhc_cb->irq_control) { + mbhc->mbhc_cb->irq_control(mbhc->codec, + mbhc->intr_ids->hph_left_ocp, + false); + mbhc->mbhc_cb->irq_control(mbhc->codec, + mbhc->intr_ids->hph_right_ocp, + false); + } if (mbhc->mbhc_fw || mbhc->mbhc_cal) { cancel_delayed_work_sync(&mbhc->mbhc_firmware_dwork); if (!mbhc->mbhc_cal)