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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Dec 2020 10:53:15 +0000 (11:53 +0100)
[ Upstream commit f4d0b39c842585c74bce8f8a80553369181b72df ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/bus/mhi/core/init.c

index 0a09f82..8cefa35 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;