summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorHongyu Xie <xiehongyu1@kylinos.cn>2024-12-31 09:36:41 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-03-25 11:05:35 +0100
commit3097fb95e24412c085e0f4d24f316a6f4f3b66aa (patch)
tree92d05976e1801e4d8d9831418b47e92d66f650fd /drivers/usb
parent7b900a94d7165bcadb419ee57bf5cd792cc19f77 (diff)
downloadlinux-3097fb95e24412c085e0f4d24f316a6f4f3b66aa.tar.gz
linux-3097fb95e24412c085e0f4d24f316a6f4f3b66aa.tar.bz2
linux-3097fb95e24412c085e0f4d24f316a6f4f3b66aa.zip
usb: cdns3: remove redundant if branch
[ Upstream commit dedab674428f8a99468a4864c067128ba9ea83a6 ] cdns->role_sw->dev->driver_data gets set in routines showing below, cdns_init sw_desc.driver_data = cdns; cdns->role_sw = usb_role_switch_register(dev, &sw_desc); dev_set_drvdata(&sw->dev, desc->driver_data); In cdns_resume, cdns->role = cdns_role_get(cdns->role_sw); //line redundant struct cdns *cdns = usb_role_switch_get_drvdata(sw); dev_get_drvdata(&sw->dev) return dev->driver_data return cdns->role; "line redundant" equals to, cdns->role = cdns->role; So fix this if branch. Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn> Acked-by: Peter Chen <peter.chen@kernel.org> Link: https://lore.kernel.org/r/20241231013641.23908-1-xiehongyu1@kylinos.cn Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Stable-dep-of: 87e4b043b98a ("usb: cdns3: fix role switching during resume") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/cdns3/core.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c
index 465e9267b49c..98980a23e1c2 100644
--- a/drivers/usb/cdns3/core.c
+++ b/drivers/usb/cdns3/core.c
@@ -529,9 +529,7 @@ int cdns_resume(struct cdns *cdns)
int ret = 0;
if (cdns_power_is_lost(cdns)) {
- if (cdns->role_sw) {
- cdns->role = cdns_role_get(cdns->role_sw);
- } else {
+ if (!cdns->role_sw) {
real_role = cdns_hw_role_state_machine(cdns);
if (real_role != cdns->role) {
ret = cdns_hw_role_switch(cdns);