aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2021-01-21 11:29:15 +0100
committerJohan Hovold <johan@kernel.org>2021-01-26 16:16:48 +0100
commit9ffa6ec51ce8595ffaa5a634bd5618e129d038c0 (patch)
tree96b139cb97f39e856db75e5b5ba8f58d3ada5416
parentUSB: serial: xr: fix interface leak at disconnect (diff)
downloadwireguard-linux-9ffa6ec51ce8595ffaa5a634bd5618e129d038c0.tar.xz
wireguard-linux-9ffa6ec51ce8595ffaa5a634bd5618e129d038c0.zip
USB: serial: xr: use subsystem usb_device at probe
Use the subsystem struct usb_device pointer at probe instead of deriving it from the interface pointer. Signed-off-by: Johan Hovold <johan@kernel.org>
-rw-r--r--drivers/usb/serial/xr_serial.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/serial/xr_serial.c b/drivers/usb/serial/xr_serial.c
index 5e110b0c8e71..8f81f866d681 100644
--- a/drivers/usb/serial/xr_serial.c
+++ b/drivers/usb/serial/xr_serial.c
@@ -541,7 +541,6 @@ static void xr_close(struct usb_serial_port *port)
static int xr_probe(struct usb_serial *serial, const struct usb_device_id *id)
{
- struct usb_device *usb_dev = interface_to_usbdev(serial->interface);
struct usb_driver *driver = serial->type->usb_driver;
struct usb_interface *control_interface;
int ret;
@@ -551,7 +550,7 @@ static int xr_probe(struct usb_serial *serial, const struct usb_device_id *id)
return -ENODEV;
/* But claim the control interface during data interface probe */
- control_interface = usb_ifnum_to_if(usb_dev, 0);
+ control_interface = usb_ifnum_to_if(serial->dev, 0);
if (!control_interface)
return -ENODEV;