usb: cdns3: remove redundant if branch
authorHongyu Xie <xiehongyu1@kylinos.cn>
Tue, 31 Dec 2024 01:36:41 +0000 (09:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Jan 2025 10:13:52 +0000 (11:13 +0100)
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>
drivers/usb/cdns3/core.c

index 465e9267b49c12768ac72ecb818f731fc8787641..98980a23e1c22befabd049e12e13d31c58773b18 100644 (file)
@@ -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);