420de42f796db4b01f1f8c2823a1850869c31409
Reject any incoming get_all_peers TDLS command if there are any currently in progress. The later commands will only be processed once the earlier commands finish, since they are processed sequentially. However, once a command finishes, the memory allocated for it from userspace is freed up. Each command is passed the same address so the later commands will end up writing to a freed address. To avoid this, reject incoming requests if there are any still in progress. For this, the condition should be corrected. We shouldn't use completion_done here for checking for completion as this will always return false, as tdls_user_cmd_comp.done will remain in init state always. So, the very first command will also not work. In general completion_done is used to check if there are multiple threads waiting on the complete event that's why it will return true only when tdls_user_cmd_comp.done is set with complete(). Also, if the state is in wait_for_completion, this function will return true after the wait timer is over or condition is met as wait_for_completion will hold out the hold lock and will will prevent completion_done from returning. Better to use a flag to determine command condition. Change-Id: I1b6b270dbb9b0b103f10e7ae22a60030ea2fbb98 CRs-Fixed: 3162184
…
This is CNSS WLAN Host Driver for products starting from iHelium
Description
Android Kernel for Motorola Moto G52 (sm6225) — Nethunter Release
2 GiB
0 Stars
1 Watchers
0 Forks