Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 991d5add authored by Stefan Wahren's avatar Stefan Wahren Committed by Peter Chen
Browse files

usb: chipidea: host: fix NULL ptr dereference during shutdown



After commit b09b5224 ("usb: chipidea: implement platform shutdown
callback") and commit 43a40457 ("usb: chipidea: host: set host to
be null after hcd is freed") a NULL pointer dereference is caused
on i.MX23 during shutdown. So ensure that role is set to CI_ROLE_END and
we finish interrupt handling before the hcd is deallocated. This avoids
the NULL pointer dereference.

Suggested-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Fixes: b09b5224 ("usb: chipidea: implement platform shutdown callback")
Signed-off-by: default avatarPeter Chen <peter.chen@nxp.com>
parent b7603239
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -188,6 +188,8 @@ static void host_stop(struct ci_hdrc *ci)

	if (hcd) {
		usb_remove_hcd(hcd);
		ci->role = CI_ROLE_END;
		synchronize_irq(ci->irq);
		usb_put_hcd(hcd);
		if (ci->platdata->reg_vbus && !ci_otg_is_fsm_mode(ci) &&
			(ci->platdata->flags & CI_HDRC_TURN_VBUS_EARLY_ON))