[PATCHv3 net-next 4/9] net: usb: use cdc_state in struct usbnet
From: Oliver Neukum <oneukum@suse.com>
Date: 2026-07-14 11:44:40
Also in:
lkml
Subsystem:
networking drivers, the rest, usb cdc ethernet driver, usb networking drivers · Maintainers:
Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds, Oliver Neukum
Remove private copies as now a central state can be used. Signed-off-by: Oliver Neukum <oneukum@suse.com> --- drivers/net/usb/cdc_ether.c | 9 +++------ drivers/net/usb/rndis_host.c | 6 +++--- 2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index e688fb99c61d..76ad4ffa950a 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c@@ -85,7 +85,7 @@ int usbnet_generic_cdc_bind(struct usbnet *dev, struct usb_interface *intf) u8 *buf = intf->cur_altsetting->extra; int len = intf->cur_altsetting->extralen; struct usb_interface_descriptor *d; - struct cdc_state *info = (void *) &dev->data; + struct cdc_state *info = &dev->cdc; int status = -ENODEV; int rndis; bool android_rndis_quirk = false;
@@ -336,7 +336,7 @@ EXPORT_SYMBOL_GPL(usbnet_ether_cdc_bind); void usbnet_cdc_unbind(struct usbnet *dev, struct usb_interface *intf) { - struct cdc_state *info = (void *) &dev->data; + struct cdc_state *info = &dev->cdc; struct usb_driver *driver = driver_of(intf); /* combined interface - nothing to do */
@@ -374,10 +374,7 @@ EXPORT_SYMBOL_GPL(usbnet_cdc_unbind); int usbnet_cdc_bind(struct usbnet *dev, struct usb_interface *intf) { int status; - struct cdc_state *info = (void *) &dev->data; - - BUILD_BUG_ON((sizeof(((struct usbnet *)0)->data) - < sizeof(struct cdc_state))); + struct cdc_state *info = &dev->cdc; status = usbnet_ether_cdc_bind(dev, intf); if (status < 0)
diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
index 5e39d05a2d7b..d539654687c3 100644
--- a/drivers/net/usb/rndis_host.c
+++ b/drivers/net/usb/rndis_host.c@@ -57,7 +57,7 @@ EXPORT_SYMBOL_GPL(rndis_status); static void rndis_msg_indicate(struct usbnet *dev, struct rndis_indicate *msg, int buflen) { - struct cdc_state *info = (void *)&dev->data; + struct cdc_state *info = &dev->cdc; struct device *udev = &info->control->dev; if (dev->driver_info->indication) {
@@ -90,7 +90,7 @@ static void rndis_msg_indicate(struct usbnet *dev, struct rndis_indicate *msg, */ int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf, int buflen) { - struct cdc_state *info = (void *) &dev->data; + struct cdc_state *info = &dev->cdc; struct usb_cdc_notification notification; int master_ifnum; int retval;
@@ -290,7 +290,7 @@ generic_rndis_bind(struct usbnet *dev, struct usb_interface *intf, int flags) { int retval; struct net_device *net = dev->net; - struct cdc_state *info = (void *) &dev->data; + struct cdc_state *info = &dev->cdc; union { void *buf; struct rndis_msg_hdr *header;
--
2.54.0