rtlwifi: Use write barrier when assigning ownership
authorMike McCormack <mikem@ring3k.org>
Mon, 30 May 2011 23:50:07 +0000 (08:50 +0900)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 3 Jun 2011 19:01:06 +0000 (15:01 -0400)
Make sure all updates to a descriptor are flushed to memory
before assigning ownship to hardware.

Signed-off-by: Mike McCormack <mikem@ring3k.org>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rtlwifi/rtl8192ce/trx.c

index ac95dc44374d7f3d429c51abb99fde11dd3bd190..2492cc234c03b2ff953af7ed1125793dbb8b6cd4 100644 (file)
@@ -930,6 +930,7 @@ void rtl92ce_set_desc(u8 *pdesc, bool istx, u8 desc_name, u8 *val)
        if (istx == true) {
                switch (desc_name) {
                case HW_DESC_OWN:
+                       wmb();
                        SET_TX_DESC_OWN(pdesc, 1);
                        break;
                case HW_DESC_TX_NEXTDESC_ADDR:
@@ -943,6 +944,7 @@ void rtl92ce_set_desc(u8 *pdesc, bool istx, u8 desc_name, u8 *val)
        } else {
                switch (desc_name) {
                case HW_DESC_RXOWN:
+                       wmb();
                        SET_RX_DESC_OWN(pdesc, 1);
                        break;
                case HW_DESC_RXBUFF_ADDR: