wil6210: handle multiple connect/disconnect events
authorMaya Erez <qca_merez@qca.qualcomm.com>
Sun, 17 Jan 2016 10:39:10 +0000 (12:39 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 26 Jan 2016 14:47:38 +0000 (16:47 +0200)
commit0916d9f2b6bea53a830ae5061b63a515c04da62e
tree7d291dbcbe29a99c95bd6c837dd6ab091f45e4ef
parentb729aaf066b013458e95cd6c69a5e371eb9ce355
wil6210: handle multiple connect/disconnect events

In the current solution wil6210 configures the vring in a worker
and holds only one pending CID. This implementation may lead to
race conditions between connect and disconnect events of multiple
stations or fast connect/disconnect events of the same station.

In order to allow the removal of the connect worker and handling of
WMI_VRING_CFG_DONE_EVENTID in the connect event, the WMI replies
that provide the reply in a given buffer needs to be handled
immediately in the WMI event interrupt thread.
To prevent deadlocks, WMI replies that requires additional
handling are still handled via the events list.

Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/wil6210/main.c
drivers/net/wireless/ath/wil6210/txrx.c
drivers/net/wireless/ath/wil6210/wil6210.h
drivers/net/wireless/ath/wil6210/wmi.c
This page took 0.025785 seconds and 5 git commands to generate.