bus: mhi: core: Fix null pointer access when parsing MHI configuration
authorCarl Yin <carl.yin@quectel.com>
Mon, 2 Nov 2020 12:27:10 +0000 (20:27 +0800)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Wed, 18 Nov 2020 09:50:34 +0000 (15:20 +0530)
Functions parse_ev_cfg() and parse_ch_cfg() access mhi_cntrl->mhi_dev
before it is set in function mhi_register_controller(),
use cntrl_dev instead of mhi_dev.

Fixes: 0cbf260820fa ("bus: mhi: core: Add support for registering MHI controllers")
Signed-off-by: Carl Yin <carl.yin@quectel.com>
Reviewed-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Hemant Kumar <hemantk@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/core/init.c

index 0a09f8215057da7b2eb9d23f8409ee76ce9582f5..8cefa359fccd81be8491ab2c5ae46ce5e33b7471 100644 (file)
@@ -610,7 +610,7 @@ static int parse_ev_cfg(struct mhi_controller *mhi_cntrl,
 {
        struct mhi_event *mhi_event;
        const struct mhi_event_config *event_cfg;
-       struct device *dev = &mhi_cntrl->mhi_dev->dev;
+       struct device *dev = mhi_cntrl->cntrl_dev;
        int i, num;
 
        num = config->num_events;
@@ -692,7 +692,7 @@ static int parse_ch_cfg(struct mhi_controller *mhi_cntrl,
                        const struct mhi_controller_config *config)
 {
        const struct mhi_channel_config *ch_cfg;
-       struct device *dev = &mhi_cntrl->mhi_dev->dev;
+       struct device *dev = mhi_cntrl->cntrl_dev;
        int i;
        u32 chan;