From: Michael Thalmeier Date: Fri, 19 May 2017 08:32:09 +0000 (+0200) Subject: usb: chipidea: core: check before accessing ci_role in ci_role_show X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=cbb22ebcfb9920380ed69854a7095d497798063d;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git usb: chipidea: core: check before accessing ci_role in ci_role_show ci_role BUGs when the role is >= CI_ROLE_END. This is the case while the role is changing. Signed-off-by: Michael Thalmeier Signed-off-by: Peter Chen --- diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 9e217b1361ea..fe4fe2440729 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -843,7 +843,10 @@ static ssize_t ci_role_show(struct device *dev, struct device_attribute *attr, { struct ci_hdrc *ci = dev_get_drvdata(dev); - return sprintf(buf, "%s\n", ci_role(ci)->name); + if (ci->role != CI_ROLE_END) + return sprintf(buf, "%s\n", ci_role(ci)->name); + + return 0; } static ssize_t ci_role_store(struct device *dev,