summaryrefslogtreecommitdiffstats
path: root/drivers/net/usb/cdc_ncm.c
diff options
context:
space:
mode:
authorBjørn Mork2013-01-21 06:50:40 +0100
committerDavid S. Miller2013-01-21 20:21:18 +0100
commit6b4ef60299e30daa8643218fde6152d8a01e2d4b (patch)
tree577c3d994d443afb01e707471cc6f5bba223d7ef /drivers/net/usb/cdc_ncm.c
parentnet: cdc_mbim: send ZLP after max sized NTBs (diff)
downloadkernel-qcow2-linux-6b4ef60299e30daa8643218fde6152d8a01e2d4b.tar.gz
kernel-qcow2-linux-6b4ef60299e30daa8643218fde6152d8a01e2d4b.tar.xz
kernel-qcow2-linux-6b4ef60299e30daa8643218fde6152d8a01e2d4b.zip
net: cdc_ncm: fix error path for single interface probing
commit bbc8d92 (net: cdc_ncm: add Huawei devices) implemented support for devices with a single combined control and data interface. Fix up the error path so that we do not double release such interfaces in case of probing failures. Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/cdc_ncm.c')
-rw-r--r--drivers/net/usb/cdc_ncm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c
index 4041159f6c98..2c4b41ffddb6 100644
--- a/drivers/net/usb/cdc_ncm.c
+++ b/drivers/net/usb/cdc_ncm.c
@@ -524,7 +524,8 @@ advance:
error2:
usb_set_intfdata(ctx->control, NULL);
usb_set_intfdata(ctx->data, NULL);
- usb_driver_release_interface(driver, ctx->data);
+ if (ctx->data != ctx->control)
+ usb_driver_release_interface(driver, ctx->data);
error:
cdc_ncm_free((struct cdc_ncm_ctx *)dev->data[0]);
dev->data[0] = 0;