summaryrefslogtreecommitdiff
path: root/nuttx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2015-03-12 08:08:50 -0600
committerGregory Nutt <gnutt@nuttx.org>2015-03-12 08:08:50 -0600
commita4b3285de1f7e9b8129c5faaf8b50df8712179ed (patch)
treeb8ccffc107b4fafd79ef9e1f1b9c709a3c42b6cb /nuttx
parent450e66dd24099163bffbeefe9a17c6fc5fd1fa46 (diff)
downloadpx4-nuttx-a4b3285de1f7e9b8129c5faaf8b50df8712179ed.tar.gz
px4-nuttx-a4b3285de1f7e9b8129c5faaf8b50df8712179ed.tar.bz2
px4-nuttx-a4b3285de1f7e9b8129c5faaf8b50df8712179ed.zip
stm32: usbdev: Fix stale initialization invalidating later NULL check. From Juha Niskanen
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_usbdev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32_usbdev.c b/nuttx/arch/arm/src/stm32/stm32_usbdev.c
index 1229a3ed7..b2a48800f 100644
--- a/nuttx/arch/arm/src/stm32/stm32_usbdev.c
+++ b/nuttx/arch/arm/src/stm32/stm32_usbdev.c
@@ -1834,7 +1834,6 @@ static void stm32_ep0setup(struct stm32_usbdev_s *priv)
}
else
{
- privep = &priv->eplist[epno];
response.w = 0; /* Not stalled */
nbytes = 2; /* Response size: 2 bytes */
@@ -3157,7 +3156,7 @@ static int stm32_epstall(struct usbdev_ep_s *ep, bool resume)
{
struct stm32_ep_s *privep;
struct stm32_usbdev_s *priv;
- uint8_t epno = USB_EPNO(ep->eplog);
+ uint8_t epno;
uint16_t status;
irqstate_t flags;
@@ -3168,6 +3167,7 @@ static int stm32_epstall(struct usbdev_ep_s *ep, bool resume)
return -EINVAL;
}
#endif
+
privep = (struct stm32_ep_s *)ep;
priv = (struct stm32_usbdev_s *)privep->dev;
epno = USB_EPNO(ep->eplog);
@@ -3347,7 +3347,6 @@ static struct usbdev_ep_s *stm32_allocep(struct usbdev_s *dev, uint8_t epno,
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_EPRESERVE), (uint16_t)epset);
goto errout;
}
- epno = USB_EPNO(privep->ep.eplog);
/* Allocate a PMA buffer for this endpoint */
@@ -3358,6 +3357,7 @@ static struct usbdev_ep_s *stm32_allocep(struct usbdev_s *dev, uint8_t epno,
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_EPBUFFER), 0);
goto errout_with_ep;
}
+
privep->bufno = (uint8_t)bufno;
return &privep->ep;