Commit 757de81e authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Merge tag 'fixes-for-v3.13-rc4' of...

Merge tag 'fixes-for-v3.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus

Felipe writes:

usb: fixes for v3.13-rc4

DWC3 learned that it can't resume a PHY which wasn't
initialized and it also learned to not leave PHY powered
up in case of an error.

twl6030-usb PHY driver got a fix for a signedness bug in
twl6030_readb().

Tegra PHY driver got a bug fix where it could return success
even though there was an error.
Signed-of-by: default avatarFelipe Balbi <balbi@ti.com>
parents 2d51f3cd 851dd02b
...@@ -455,9 +455,6 @@ static int dwc3_probe(struct platform_device *pdev) ...@@ -455,9 +455,6 @@ static int dwc3_probe(struct platform_device *pdev)
if (IS_ERR(regs)) if (IS_ERR(regs))
return PTR_ERR(regs); return PTR_ERR(regs);
usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0);
spin_lock_init(&dwc->lock); spin_lock_init(&dwc->lock);
platform_set_drvdata(pdev, dwc); platform_set_drvdata(pdev, dwc);
...@@ -488,6 +485,9 @@ static int dwc3_probe(struct platform_device *pdev) ...@@ -488,6 +485,9 @@ static int dwc3_probe(struct platform_device *pdev)
goto err0; goto err0;
} }
usb_phy_set_suspend(dwc->usb2_phy, 0);
usb_phy_set_suspend(dwc->usb3_phy, 0);
ret = dwc3_event_buffers_setup(dwc); ret = dwc3_event_buffers_setup(dwc);
if (ret) { if (ret) {
dev_err(dwc->dev, "failed to setup event buffers\n"); dev_err(dwc->dev, "failed to setup event buffers\n");
...@@ -569,6 +569,8 @@ static int dwc3_probe(struct platform_device *pdev) ...@@ -569,6 +569,8 @@ static int dwc3_probe(struct platform_device *pdev)
dwc3_event_buffers_cleanup(dwc); dwc3_event_buffers_cleanup(dwc);
err1: err1:
usb_phy_set_suspend(dwc->usb2_phy, 1);
usb_phy_set_suspend(dwc->usb3_phy, 1);
dwc3_core_exit(dwc); dwc3_core_exit(dwc);
err0: err0:
......
...@@ -876,7 +876,7 @@ static int utmi_phy_probe(struct tegra_usb_phy *tegra_phy, ...@@ -876,7 +876,7 @@ static int utmi_phy_probe(struct tegra_usb_phy *tegra_phy,
tegra_phy->pad_regs = devm_ioremap(&pdev->dev, res->start, tegra_phy->pad_regs = devm_ioremap(&pdev->dev, res->start,
resource_size(res)); resource_size(res));
if (!tegra_phy->regs) { if (!tegra_phy->pad_regs) {
dev_err(&pdev->dev, "Failed to remap UTMI Pad regs\n"); dev_err(&pdev->dev, "Failed to remap UTMI Pad regs\n");
return -ENOMEM; return -ENOMEM;
} }
......
...@@ -127,7 +127,8 @@ static inline int twl6030_writeb(struct twl6030_usb *twl, u8 module, ...@@ -127,7 +127,8 @@ static inline int twl6030_writeb(struct twl6030_usb *twl, u8 module,
static inline u8 twl6030_readb(struct twl6030_usb *twl, u8 module, u8 address) static inline u8 twl6030_readb(struct twl6030_usb *twl, u8 module, u8 address)
{ {
u8 data, ret = 0; u8 data;
int ret;
ret = twl_i2c_read_u8(module, &data, address); ret = twl_i2c_read_u8(module, &data, address);
if (ret >= 0) if (ret >= 0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment