50 lines
1.5 KiB
Diff
50 lines
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Michal Suchanek <msuchanek@suse.de>
|
|
Date: Wed, 12 Oct 2022 21:57:54 +0200
|
|
Subject: usb: ether: Fix error handling in usb_ether_init
|
|
|
|
The code checks the return value from uclass_first_device as well as
|
|
that the device exists but it passes on the return value which may be
|
|
zero if there are no gadget devices. Just check that a device was
|
|
returned and return -ENODEV otherwise.
|
|
|
|
Also remove the dev variable which is not really used for anything.
|
|
|
|
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
|
|
Reviewed-by: Simon Glass <sjg@chromium.org>
|
|
---
|
|
drivers/usb/gadget/ether.c | 11 +++++-----
|
|
1 file changed, 5 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
|
|
index 111111111111..222222222222 100644
|
|
--- a/drivers/usb/gadget/ether.c
|
|
+++ b/drivers/usb/gadget/ether.c
|
|
@@ -2636,18 +2636,17 @@ static const struct eth_ops usb_eth_ops = {
|
|
|
|
int usb_ether_init(void)
|
|
{
|
|
- struct udevice *dev;
|
|
struct udevice *usb_dev;
|
|
int ret;
|
|
|
|
- ret = uclass_first_device(UCLASS_USB_GADGET_GENERIC, &usb_dev);
|
|
- if (!usb_dev || ret) {
|
|
+ uclass_first_device(UCLASS_USB_GADGET_GENERIC, &usb_dev);
|
|
+ if (!usb_dev) {
|
|
pr_err("No USB device found\n");
|
|
- return ret;
|
|
+ return -ENODEV;
|
|
}
|
|
|
|
- ret = device_bind_driver(usb_dev, "usb_ether", "usb_ether", &dev);
|
|
- if (!dev || ret) {
|
|
+ ret = device_bind_driver(usb_dev, "usb_ether", "usb_ether", NULL);
|
|
+ if (ret) {
|
|
pr_err("usb - not able to bind usb_ether device\n");
|
|
return ret;
|
|
}
|
|
--
|
|
Armbian
|
|
|