Re: [PATCH 03/13] twl4030_charger: correctly handle -EPROBE_DEFER from devm_usb_get_phy_by_node

From: Tony Lindgren
Date: Tue Aug 18 2015 - 04:08:14 EST


* NeilBrown <neil@xxxxxxxxxx> [150729 17:29]:
> Now that twl4030_bci_probe can safely return -EPROBE_DEFER,
> do so when devm_usb_get_phy_by_node returns that error.
>
> Signed-off-by: NeilBrown <neil@xxxxxxxxxx>
> ---
> drivers/power/twl4030_charger.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/power/twl4030_charger.c b/drivers/power/twl4030_charger.c
> index 045238370d3f..ffc123fb7158 100644
> --- a/drivers/power/twl4030_charger.c
> +++ b/drivers/power/twl4030_charger.c
> @@ -636,9 +636,13 @@ static int twl4030_bci_probe(struct platform_device *pdev)
>
> phynode = of_find_compatible_node(bci->dev->of_node->parent,
> NULL, "ti,twl4030-usb");
> - if (phynode)
> + if (phynode) {
> bci->transceiver = devm_usb_get_phy_by_node(
> bci->dev, phynode, &bci->usb_nb);
> + if (IS_ERR(bci->transceiver) &&
> + PTR_ERR(bci->transceiver) == -EPROBE_DEFER)
> + return -EPROBE_DEFER;
> + }
> }

Neil, the return with -EPROBE_DEFER here causes flakeyness booting
for me somehow at least on my logicpd-torpedo-37xx-devkit using
omap2plus_defconfig.

It seems that the twl4030_bci_probe keeps looping or something about
1/3 of the boots and that probably prevents the other twl modules
from loading? Reverting this patch alone seems to fix the issue.

I don't think I have a battery wired on this board the USB is wired
the same way as on beagle-xm. So I'd assume also flakeyness on beagle
xm with this patch.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/