• Maya Erez's avatar
    wil6210: handle multiple connect/disconnect events · 0916d9f2
    Maya Erez authored
    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: default avatarMaya Erez <qca_merez@qca.qualcomm.com>
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    0916d9f2
wmi.c 39.8 KB