summaryrefslogtreecommitdiffstats
path: root/drivers/net/usb/cdc-phonet.c
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2021-03-18 16:57:49 +0100
committerDavid S. Miller <davem@davemloft.net>2021-03-19 03:45:37 +0100
commitc79a707072fe3fea0e3c92edee6ca85c1e53c29f (patch)
tree79e1393af9cc104c0368c9f47c60ec1fe53049ad /drivers/net/usb/cdc-phonet.c
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf (diff)
downloadlinux-c79a707072fe3fea0e3c92edee6ca85c1e53c29f.tar.xz
linux-c79a707072fe3fea0e3c92edee6ca85c1e53c29f.zip
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/net/usb/cdc-phonet.c')
-rw-r--r--drivers/net/usb/cdc-phonet.c2
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;
}