usb: phy: return an error in usb_get_phy() if try_module_get() fails
In case we found a matching USB PHY in usb_get_phy() but the call to try_module_get() fails, we shouldn't return a (probably soon dangling) pointer but an ERR_PTR instead. Signed-off-by: Mathias Krause <minipli@googlemail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Родитель
ae8dd0cc41
Коммит
9dc9cb0c9a
|
@ -132,6 +132,9 @@ struct usb_phy *usb_get_phy(enum usb_phy_type type)
|
|||
if (IS_ERR(phy) || !try_module_get(phy->dev->driver->owner)) {
|
||||
pr_debug("PHY: unable to find transceiver of type %s\n",
|
||||
usb_phy_type_string(type));
|
||||
if (!IS_ERR(phy))
|
||||
phy = ERR_PTR(-ENODEV);
|
||||
|
||||
goto err0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче