usb: phy: Fix deferred probing
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 6 Jan 2015 15:45:07 +0000 (16:45 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jan 2015 20:40:37 +0000 (12:40 -0800)
commit9c9d82492b73991e8e13a6c0af06e44816c31438
treebb89c9a688757f0d682576312b7e74a8cf7b82b1
parent56abcab833fafcfaeb2f5b25e0364c1dec45f53e
usb: phy: Fix deferred probing

Commit 1290a958d48e ("usb: phy: propagate __of_usb_find_phy()'s error on
failure") actually broke the deferred probing mechanism, since it now returns
EPROBE_DEFER only when the try_module_get call fails, but not when the phy
lookup does.

All the other similar functions seem to return ENODEV when try_module_get
fails, and the error code of either __usb_find_phy or __of_usb_find_phy
otherwise.

In order to have a consistent behaviour, and a meaningful EPROBE_DEFER, always
return EPROBE_DEFER when __(of_)usb_find_phy fails to look up the requested
phy, that will be propagated by the caller, and ENODEV if try_module_get fails.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Tested-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/phy/phy.c