Some error code can be preserved, so we can remove overwriting
error code returned by some functions.
Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reviewed-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Felipe Balbi <balbi@kernel.org>
                case USB_ROLE_HOST:
                        break;
                default:
-                       ret = -EPERM;
                        goto pm_put;
                }
        }
                case USB_ROLE_DEVICE:
                        break;
                default:
-                       ret = -EPERM;
                        goto pm_put;
                }
        }
 
        cdns3_role_stop(cdns);
        ret = cdns3_role_start(cdns, role);
-       if (ret) {
+       if (ret)
                dev_err(cdns->dev, "set role %d has failed\n", role);
-               ret = -EPERM;
-       }
 
 pm_put:
        pm_runtime_put_sync(cdns->dev);
        ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
        if (ret) {
                dev_err(dev, "error setting dma mask: %d\n", ret);
-               return -ENODEV;
+               return ret;
        }
 
        cdns = devm_kzalloc(dev, sizeof(*cdns), GFP_KERNEL);