diff options
| author | Arunk Khandavalli <akhandav@codeaurora.org> | 2017-10-04 19:56:46 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-10-17 19:27:19 -0700 |
| commit | 54284d380f6f6cb81f3f76c57d0a05bd7fa87cd3 (patch) | |
| tree | 9455a7525d7415c6524afa7a3f33910dec7923f7 /uapi/linux/osapi_linux.h | |
| parent | 6aadcd58b5cf78aa8281f34af6a73ba0f36e20bb (diff) | |
qcacld-3.0: cleanup scan queue in case of SSR
When the SSR and interface down happen in parallel,
the driver rejects the interface down since the
recovery is in progress. Kernel ignores the -EAGAIN
request from the driver and as part of NET_DOWN notification
in cfg80211_netdown_notifer the kernel invokes the
___cfg80211_scan_done to free the request but dose not send
scan_result indication, since it expects the scan_done work to
get scheduled and then broadcast the request to upperlayer.
According to the upstream commit f9d15d162b3acf28f85b3ac05c4883e5ed588d28
the reason the kernel doesnt broadcast the scan result to upperlayer
is that:
1. interface starts being removed
2. scan is cancelled by driver and cfg80211 is notified
3. scan done work is scheduled
4. interface is removed completely, rdev->scan_req is freed,
event sent to userspace but scan done work remains pending
5. new scan is requested on another virtual interface
6. scan done work runs, freeing the still-running scan
To mitigate the issue, clean up the scan queue as part of netdev
going down and FW down event.
Change-Id: Id698044ebe30cf555300e909a916d74be1f8b94f
CRs-Fixed: 2115392
Diffstat (limited to 'uapi/linux/osapi_linux.h')
0 files changed, 0 insertions, 0 deletions
