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

Commit df101c53 authored by Peter Chen's avatar Peter Chen Committed by Greg Kroah-Hartman
Browse files

usb: chipidea: host: more enhancement when ci->hcd is NULL

Like http://marc.info/?l=linux-usb&m=138200449428874&w=2

 said:
two more things are needed to be done:

- If host_start fails, the host_stop should not be called, so we
add check that ci->hcd is not NULL.
- if the host_start fails at the beginning, we need to consider
regulator mismatch issue.

Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e55f7cd2
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -103,15 +103,15 @@ static void host_stop(struct ci_hdrc *ci)
	if (hcd) {
		usb_remove_hcd(hcd);
		usb_put_hcd(hcd);
	}
		if (ci->platdata->reg_vbus)
			regulator_disable(ci->platdata->reg_vbus);
	}
}


void ci_hdrc_host_destroy(struct ci_hdrc *ci)
{
	if (ci->role == CI_ROLE_HOST)
	if (ci->role == CI_ROLE_HOST && ci->hcd)
		host_stop(ci);
}