• Wei-Ning Huang's avatar
    mwifiex: fix racing condition when downloading firmware · 65c71efe
    Wei-Ning Huang authored
    The action 'check for winner' and 'download firmware' should be an
    atomic action. This is true for btmrvl driver but not mwmfiex, which
    cause firmware download to fail when the following senerio happens:
    
    1) mwifiex check winner status: true
    2) btmrvl check winner status: true, and start downloading firmware
    3) mwfieix tries to download firmware, but failed because btmrvl is
    already downloading.
    
    This won't happen if 1) and 3) is an atomic action. This patch adds
    sdio_claim/release_host call around those two actions to make sure it's
    atomic.
    Signed-off-by: default avatarWei-Ning Huang <wnhuang@chromium.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    65c71efe
main.c 43.2 KB