summaryrefslogtreecommitdiff
path: root/drivers/staging/usbip/stub_dev.c
diff options
context:
space:
mode:
authorKulikov Vasiliy <segooon@gmail.com>2010-08-11 12:02:10 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-31 14:51:52 -0700
commitc2c6a66a51da4d7311aa4508c1cd56c2397cf708 (patch)
treea11dac74f2492a6faf1aeb71f271c97dd91250c2 /drivers/staging/usbip/stub_dev.c
parent211673991ec168c293791a94ad7aa31998907768 (diff)
staging: usbip: fix memory leak
If stub_probe() failed then do not increase interf_count. In original code sdev was leaked as its interf_count never reaches 0. Signed-off-by: Kulikov Vasiliy <segooon@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/usbip/stub_dev.c')
-rw-r--r--drivers/staging/usbip/stub_dev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/usbip/stub_dev.c b/drivers/staging/usbip/stub_dev.c
index b6b753a49346..b186b5fed2b9 100644
--- a/drivers/staging/usbip/stub_dev.c
+++ b/drivers/staging/usbip/stub_dev.c
@@ -427,11 +427,11 @@ static int stub_probe(struct usb_interface *interface,
if (busid_priv->status == STUB_BUSID_ALLOC) {
- busid_priv->interf_count++;
sdev = busid_priv->sdev;
if (!sdev)
return -ENODEV;
+ busid_priv->interf_count++;
dev_info(&interface->dev,
"USB/IP Stub: register a new interface "
"(bus %u dev %u ifn %u)\n", udev->bus->busnum, udev->devnum,