[PATCH] net: usb: net1080: add error handling to nc_vendor_write()
From: Ashwin Gundarapu
Date: Mon Jul 27 2026 - 10:04:16 EST
The nc_vendor_write() function currently ignores the return value of
usbnet_write_cmd(). This can lead to silent failures when USB
communication fails.
Change nc_vendor_write() and nc_register_write() to return int
instead of void, and propagate the error from usbnet_write_cmd()
back to the caller.
Signed-off-by: Ashwin Gundarapu <linuxuser509@xxxxxxxxxxx>
---
drivers/net/usb/net1080.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/usb/net1080.c b/drivers/net/usb/net1080.c
index 19f6e1222d93..dd9f1361aed6 100644
--- a/drivers/net/usb/net1080.c
+++ b/drivers/net/usb/net1080.c
@@ -113,18 +113,18 @@ nc_register_read(struct usbnet *dev, u8 regnum, u16 *retval_ptr)
return nc_vendor_read(dev, REQUEST_REGISTER, regnum, retval_ptr);
}
-static void
+static int
nc_vendor_write(struct usbnet *dev, u8 req, u8 regnum, u16 value)
{
- usbnet_write_cmd(dev, req,
- USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
- value, regnum, NULL, 0);
+ return usbnet_write_cmd(dev, req,
+ USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
+ value, regnum, NULL, 0);
}
-static inline void
+static inline int
nc_register_write(struct usbnet *dev, u8 regnum, u16 value)
{
- nc_vendor_write(dev, REQUEST_REGISTER, regnum, value);
+ return nc_vendor_write(dev, REQUEST_REGISTER, regnum, value);
}
--
2.53.0
From: Ashwin Gundarapu <linuxuser509@xxxxxxxxxxx>
To: "netdev"<netdev@xxxxxxxxxxxxxxx>
Cc: "linux-usb"<linux-usb@xxxxxxxxxxxxxxx>, "linux-kernel"<linux-kernel@xxxxxxxxxxxxxxx>
Date: Mon, 27 Jul 2026 19:38:13 +0530
Subject: [PATCH] net: usb: net1080: add error handling to nc_vendor_write()
> From a822037e659f6c13022062b399a96b7d72780090 Mon Sep 17 00:00:00 2001
> From: Ashwin Gundarapu <gundarapuashwin@xxxxxxxxxxx>
> Date: Mon, 27 Jul 2026 19:34:16 +0530
> Subject: [PATCH] net: usb: net1080: add error handling to nc_vendor_write()
>
> The nc_vendor_write() function currently ignores the return value of
> usbnet_write_cmd(). This can lead to silent failures when USB
> communication fails.
>
> Change nc_vendor_write() and nc_register_write() to return int
> instead of void, and propagate the error from usbnet_write_cmd()
> back to the caller.
>
> Signed-off-by: Ashwin Gundarapu <linuxuser509@xxxxxxxxxxx>
> ---
> drivers/net/usb/net1080.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/usb/net1080.c b/drivers/net/usb/net1080.c
> index 19f6e1222d93..dd9f1361aed6 100644
> --- a/drivers/net/usb/net1080.c
> +++ b/drivers/net/usb/net1080.c
> @@ -113,18 +113,18 @@ nc_register_read(struct usbnet *dev, u8 regnum, u16 *retval_ptr)
> return nc_vendor_read(dev, REQUEST_REGISTER, regnum, retval_ptr);
> }
>
> -static void
> +static int
> nc_vendor_write(struct usbnet *dev, u8 req, u8 regnum, u16 value)
> {
> - usbnet_write_cmd(dev, req,
> - USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
> - value, regnum, NULL, 0);
> + return usbnet_write_cmd(dev, req,
> + USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
> + value, regnum, NULL, 0);
> }
>
> -static inline void
> +static inline int
> nc_register_write(struct usbnet *dev, u8 regnum, u16 value)
> {
> - nc_vendor_write(dev, REQUEST_REGISTER, regnum, value);
> + return nc_vendor_write(dev, REQUEST_REGISTER, regnum, value);
> }
>
>
> --
> 2.53.0
>
>
>