diff options
author | Johan Hovold <johan@kernel.org> | 2021-03-18 18:57:49 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-19 05:45:37 +0300 |
commit | c79a707072fe3fea0e3c92edee6ca85c1e53c29f (patch) | |
tree | 79e1393af9cc104c0368c9f47c60ec1fe53049ad /drivers | |
parent | 84f4aced67b102c2f2631c2a48332fcabc826ed2 (diff) | |
download | linux-c79a707072fe3fea0e3c92edee6ca85c1e53c29f.tar.xz |
net: cdc-phonet: fix data-interface release on probe failure
Set the disconnected flag before releasing the data interface in case
netdev registration fails to avoid having the disconnect callback try to
deregister the never registered netdev (and trigger a WARN_ON()).
Fixes: 87cf65601e17 ("USB host CDC Phonet network interface driver")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/usb/cdc-phonet.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/usb/cdc-phonet.c b/drivers/net/usb/cdc-phonet.c index 02e6bbb17b15..8d1f69dad603 100644 --- a/drivers/net/usb/cdc-phonet.c +++ b/drivers/net/usb/cdc-phonet.c @@ -387,6 +387,8 @@ static int usbpn_probe(struct usb_interface *intf, const struct usb_device_id *i err = register_netdev(dev); if (err) { + /* Set disconnected flag so that disconnect() returns early. */ + pnd->disconnected = 1; usb_driver_release_interface(&usbpn_driver, data_intf); goto out; } |