mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-23 21:19:04 -04:00
No description
- C 98.2%
- Assembly 1%
- Makefile 0.3%
- Shell 0.2%
- Python 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Current driver calls ce_tasklet_kill API which does tasklet_disable() first and then does tasklet_kill which invites race condition as follows. 1) Lets say CPU-0 is executing ce_tasklet_kill() API for CE1 (in process ctx) to kill any tasklets associated with CE1-IRQ 2) t1 time- CPU-1 has scheduled the tasklet as part of rescheduled API ce_schedule_tasklet(), so this tasklet goes to be scheduled list of kernel. 3) t2 time- CPU-0 executes tasklet_disable() and about to execute tasklet_kill() 4) t3 time - kernel got a chance and wants to run the tasklet which was scheduled at t1 time but it can't because t2 time, tasklet has been disable. 5) t5 time- CPU-0 now executes tasklet_kill which checks if any tasklet which is in "SCHEDULE" state to go to "RUNNING" state and finish and tasklet on CPU-1 can't go to "RUNNING" state due to tasklet_disable(), driver is stuck waiting for it to finish. Fix the situation by removing tasklet_disable() Change-Id: I3ac56975dc1f6538962060dd20e881c43e7516ca CRs-Fixed: 2301368 |
||
| cfg | ||
| dp | ||
| ftm | ||
| global_lmac_if | ||
| hal/wifi3.0 | ||
| hif | ||
| htc | ||
| init_deinit/dispatcher | ||
| os_if/linux | ||
| qal | ||
| qdf | ||
| scheduler | ||
| spectral | ||
| target_if | ||
| umac | ||
| utils | ||
| wlan_cfg | ||
| wmi | ||
| README.txt | ||
| VERSION.txt | ||
This is CNSS WLAN Host Driver for products starting from iHelium