diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-07-26 17:27:57 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-07-26 17:27:57 +0000 |
commit | 6d81a3c8f554607158cb603cdd67f3bf195a1462 (patch) | |
tree | 76df8f8506df34e33ab588ab888dfe5616c81caf /nuttx/drivers | |
parent | 953adf8554a3f1629a781569659ebf10348e42d1 (diff) | |
download | px4-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')
-rw-r--r-- | nuttx/drivers/usbdev/usbdev_storage.c | 17 |
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); } } |