Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

usb: cdns3: remove redundant if branch

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>

authored by

Hongyu Xie and committed by
Greg Kroah-Hartman
dedab674 f097a36e

+1 -3
+1 -3
drivers/usb/cdns3/core.c
··· 529 529 int ret = 0; 530 530 531 531 if (cdns_power_is_lost(cdns)) { 532 - if (cdns->role_sw) { 533 - cdns->role = cdns_role_get(cdns->role_sw); 534 - } else { 532 + if (!cdns->role_sw) { 535 533 real_role = cdns_hw_role_state_machine(cdns); 536 534 if (real_role != cdns->role) { 537 535 ret = cdns_hw_role_switch(cdns);