summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2012-11-21 06:31:19 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-21 22:32:26 +0100
commitc058f7ab94143dfa2286e496019b7ad0b95502ac (patch)
tree22b177b561485b6e2dffac1227934061d862e84a /drivers/usb/core
parentUSB: usbtest: prevent a divide by zero bug (diff)
downloadlinux-c058f7ab94143dfa2286e496019b7ad0b95502ac.tar.xz
linux-c058f7ab94143dfa2286e496019b7ad0b95502ac.zip
USB: core: Free the allocated memory before exiting on error
'new_interfaces' should be freed to avoid memory leak. Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r--drivers/usb/core/message.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index 73c5d1a04135..131f73649b60 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1786,7 +1786,8 @@ free_interfaces:
if (dev->actconfig && usb_disable_lpm(dev)) {
dev_err(&dev->dev, "%s Failed to disable LPM\n.", __func__);
mutex_unlock(hcd->bandwidth_mutex);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto free_interfaces;
}
ret = usb_hcd_alloc_bandwidth(dev, cp, NULL, NULL);
if (ret < 0) {