brcmfmac: fix race condition for rx and tx data.
authorHante Meuleman <meuleman@broadcom.com>
Thu, 30 Aug 2012 08:05:36 +0000 (10:05 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 5 Sep 2012 18:53:34 +0000 (14:53 -0400)
commit2e875acd399fcc6e301063e5ead371ad089d5920
treeb8b8d887ae56d7caf8b9e2bd6186d2c972caaa82
parent474ab7cea4001f07ec8599a680fd19d8761fa7d8
brcmfmac: fix race condition for rx and tx data.

On both rx and tx there is was a race condition on the queueing
of usb requests. When for example frame gets submitted it is
possible that complete function gets called even before
usb_submit_urb() returns. As a result it is possible that usb
requests get losts, which was noticed on OMAP4 pandaboard
platform. This patch fixes the race condition.

Reviewed-by: Arend Van Spriel <arend@broadcom.com>
Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/usb.c