- Mar 10, 2017
-
-
Gregory Nutt authored
All STM32 host drivers. In IN endpoint retry, delay for a clock tick to give some breathing space for the CPU. EXPERIMENTAL change.
-
David Sidrane authored
STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to similar STM32 I2C drivers. Approved-by: Gregory Nutt
-
David Sidrane authored
-
Gregory Nutt authored
Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is only a single, hard-allocated holder structure. This is problem because in sem_wait() the holder is released, but needs to remain in the holder container until sem_restorebaseprio() is called. The call to sem_restorebaseprio() must be one of the last things the sem_wait() does because it can cause the task to be suspended. If in sem_wait(), a new task gets the semaphore count then it will fail to allocate the holder and will not participate in priority inheritance. This fix is to add two hard-allocated holders in the sem_t structure: One of the old holder and one for the new holder.
-
Gregory Nutt authored
pthreads: Fix pthread_mutexattr_init(). It was not initializing the protocol field when priority inheritance is enabled.
-
David Sidrane authored
Save elapsed time before handling I2C in stm32_i2c_sem_waitstop() This patch follows the same logic as in previous fix to stm32_i2c_sem_waitdone(). It is possible that a context switch occurs after I2C registers are read but before elapsed time is saved in stm32_i2c_sem_waitstop(). It is then possible that the registers were read only once with "elapsed time" equal 0. When scheduler resumes this thread it is quite possible that now "elapsed time" will be well above timeout threshold. In that case the function returns and reports a timeout, even though the registers were not read "recently". Fix this by inverting the order of operations in the loop - save elapsed time before reading registers. This way a context switch anywhere in the loop will not cause an erroneous "timeout" error.
-
Gregory Nutt authored
-
Freddie Chopin authored
This patch follows the same logic as in previous fix to stm32_i2c_sem_waitdone(). It is possible that a context switch occurs after I2C registers are read but before elapsed time is saved in stm32_i2c_sem_waitstop(). It is then possible that the registers were read only once with "elapsed time" equal 0. When scheduler resumes this thread it is quite possible that now "elapsed time" will be well above timeout threshold. In that case the function returns and reports a timeout, even though the registers were not read "recently". Fix this by inverting the order of operations in the loop - save elapsed time before reading registers. This way a context switch anywhere in the loop will not cause an erroneous "timeout" error.
-
- Mar 09, 2017
-
-
Gregory Nutt authored
-
Gregory Nutt authored
apps/examples/usbterm is gone because it can be configured to perform an illegal call into the OS. Remove all traces of CONFIG_EXAMPLES_USBTERM* and all of the illegal device support.
-
Gregory Nutt authored
STM32, STM32 F7, STM32 L4: OTG host drivers: Do not do data toggle if interrupt transfer is NAKed. Sugested by webbbn@gmail.com
-
Gregory Nutt authored
Remove all references to arch_usbhost_initialize(). That was incorrectly called from apps/examples/hidkbd. That is violation of the OS interfacing rules and will no longer be supported. USB host should be initialized as part of the board bring-up logic was with any other devices and should not involve illegal calls from applications into the OS.
-
Simon Piriou authored
STM32F2: add USB OTG HS support for stm32f20xxx cores Approved-by: Gregory Nutt
-
Gregory Nutt authored
-
Gregory Nutt authored
STM32, STM32 F7, and STM32 L4: Back out part of 3331e9c4. Returning immediately int he case of a NAK makes the Mass Storage Class driver unreliable. The retry/timeout logic is necessary. This implementation tries to implement a compromise: If a NAK is received after some data is received, then the partial data received is returned as with 3331e9c4. If if a NAK is received with no data, then no longer returns the NAK error immediately but retries until data is received or a timeout occurs. Initial testing indicates that this fixes the issues the MSC. However, I hae concerns that if multiple sectors are read in one transfer, there could be NAKs between sectors as well and, in that case, then change will still cause failures.
-
Simon Piriou authored
-
Gregory Nutt authored
Olimex STM32 P407: USB host support for USB FLASH sticks is now supported in the base nsh configuration.
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
Gregory Nutt authored
-
David Sidrane authored
Kinetis:Allow Board to add Pullups on SDHC lines Approved-by: Gregory Nutt
-
David Sidrane authored
-
Gregory Nutt authored
-
Freddie Chopin authored
It is possible that a context switch occurs after stm32_i2c_isr() call but before elapsed time is saved in stm32_i2c_sem_waitdone(). It is then possible that the handling code was executed only once with "elapsed time" equal 0. When scheduler resumes this thread it is quite possible that now "elapsed time" will be well above timeout threshold. In that case the function returns and reports a timeout, even though the handling code was not executed "recently". Fix this by inverting the order of operations in the loop - save elapsed time before handling I2C. This way a context switch anywhere in the loop will not cause an erroneous "timeout" error.
-
Gregory Nutt authored
-
Andreas Bihlmaier authored
fix as5048b by adding missing frequency parameter Approved-by: Gregory Nutt
-
Andreas Bihlmaier authored
increase number of supported PWM channels from 4 to 6 Approved-by: Gregory Nutt
-
Andreas Bihlmaier authored
actually write modified value to register Approved-by: Gregory Nutt
-
Andreas Bihlmaier authored
use correct macro for irqid (fortunately both point to LPC43_IRQ_EXTINT+18) Approved-by: Gregory Nutt
-