summaryrefslogtreecommitdiff
path: root/nuttx/drivers/usbdev
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-07-26 17:27:57 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-07-26 17:27:57 +0000
commit6d81a3c8f554607158cb603cdd67f3bf195a1462 (patch)
tree76df8f8506df34e33ab588ab888dfe5616c81caf /nuttx/drivers/usbdev
parent953adf8554a3f1629a781569659ebf10348e42d1 (diff)
downloadpx4-nuttx-6d81a3c8f554607158cb603cdd67f3bf195a1462.tar.gz
px4-nuttx-6d81a3c8f554607158cb603cdd67f3bf195a1462.tar.bz2
px4-nuttx-6d81a3c8f554607158cb603cdd67f3bf195a1462.zip
Correct USB mass storage memory leak
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3820 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/drivers/usbdev')
-rw-r--r--nuttx/drivers/usbdev/usbdev_storage.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/nuttx/drivers/usbdev/usbdev_storage.c b/nuttx/drivers/usbdev/usbdev_storage.c
index 4f2ffcc6e..029cd748e 100644
--- a/nuttx/drivers/usbdev/usbdev_storage.c
+++ b/nuttx/drivers/usbdev/usbdev_storage.c
@@ -670,14 +670,6 @@ static void usbstrg_unbind(FAR struct usbdev_s *dev)
usbstrg_resetconfig(priv);
up_mdelay(50);
- /* Free the bulk IN endpoint */
-
- if (priv->epbulkin)
- {
- DEV_FREEEP(dev, priv->epbulkin);
- priv->epbulkin = NULL;
- }
-
/* Free the pre-allocated control request */
if (priv->ctrlreq != NULL)
@@ -721,6 +713,15 @@ static void usbstrg_unbind(FAR struct usbdev_s *dev)
usbstrg_freereq(priv->epbulkin, reqcontainer->req);
}
}
+
+ /* Free the bulk IN endpoint */
+
+ if (priv->epbulkin)
+ {
+ DEV_FREEEP(dev, priv->epbulkin);
+ priv->epbulkin = NULL;
+ }
+
irqrestore(flags);
}
}