mirror of https://gitee.com/openkylin/linux.git
mfd: Fix usbhs_enable error handling
In the case of missing platform_data we do not hold a spin_lock, thus we should not call spin_unlock_irqrestore in the error path. Also simplify the error handling by separating the successful path from error path. I think this change improves readability. Signed-off-by: Axel Lin <axel.lin@gmail.com> Tested-by: Steve Calfee <stevecalfee@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
cdefce1695
commit
d11536e4e0
|
@ -700,8 +700,7 @@ static int usbhs_enable(struct device *dev)
|
|||
dev_dbg(dev, "starting TI HSUSB Controller\n");
|
||||
if (!pdata) {
|
||||
dev_dbg(dev, "missing platform_data\n");
|
||||
ret = -ENODEV;
|
||||
goto end_enable;
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&omap->lock, flags);
|
||||
|
@ -915,7 +914,8 @@ static int usbhs_enable(struct device *dev)
|
|||
|
||||
end_count:
|
||||
omap->count++;
|
||||
goto end_enable;
|
||||
spin_unlock_irqrestore(&omap->lock, flags);
|
||||
return 0;
|
||||
|
||||
err_tll:
|
||||
if (pdata->ehci_data->phy_reset) {
|
||||
|
@ -931,8 +931,6 @@ static int usbhs_enable(struct device *dev)
|
|||
clk_disable(omap->usbhost_fs_fck);
|
||||
clk_disable(omap->usbhost_hs_fck);
|
||||
clk_disable(omap->usbhost_ick);
|
||||
|
||||
end_enable:
|
||||
spin_unlock_irqrestore(&omap->lock, flags);
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue