diff options
Diffstat (limited to 'drivers/usb/dwc3/dwc3-of-simple.c')
| -rw-r--r-- | drivers/usb/dwc3/dwc3-of-simple.c | 5 | 
1 files changed, 4 insertions, 1 deletions
| diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c index c4a4d7bd2766..7ae0eefc7cc7 100644 --- a/drivers/usb/dwc3/dwc3-of-simple.c +++ b/drivers/usb/dwc3/dwc3-of-simple.c @@ -51,8 +51,10 @@ static int dwc3_of_simple_clk_init(struct dwc3_of_simple *simple, int count)  		clk = of_clk_get(np, i);  		if (IS_ERR(clk)) { -			while (--i >= 0) +			while (--i >= 0) { +				clk_disable_unprepare(simple->clks[i]);  				clk_put(simple->clks[i]); +			}  			return PTR_ERR(clk);  		} @@ -203,6 +205,7 @@ static struct platform_driver dwc3_of_simple_driver = {  	.driver		= {  		.name	= "dwc3-of-simple",  		.of_match_table = of_dwc3_simple_match, +		.pm	= &dwc3_of_simple_dev_pm_ops,  	},  }; |