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 <a_katta@codeaurora.org>
This commit is contained in:
Karthik Reddy Katta 2016-02-04 12:27:27 +05:30 committed by David Keitel
parent 832f4c8a6d
commit 96adc9685e

View file

@ -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)