Skip to contentSkip to conversation

rtlwifi: Assign rx buffer ownership to hardware last

PATCH Superseded Mike McCormack 1 participant 1 message May 25, 2011 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 6/8 rtlwifi: Assign rx buffer ownership to hardware last

Ownership of an rx buffer should only be given to the hardware after all other changes are written, otherwise there's a potential race.

---
 drivers/net/wireless/rtlwifi/pci.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/net/wireless/rtlwifi/pci.c +3 -2
index fd74396..4fe405a 100644
@@ -782,8 +782,6 @@ done:
 		rtlpriv->cfg->ops->set_desc((u8 *) pdesc, false,
 					    HW_DESC_RXBUFF_ADDR,
 					    (u8 *)&bufferaddress);
-		rtlpriv->cfg->ops->set_desc((u8 *)pdesc, false, HW_DESC_RXOWN,
-					    (u8 *)&tmp_one);
 		rtlpriv->cfg->ops->set_desc((u8 *)pdesc, false,
 					    HW_DESC_RXPKT_LEN,
 					    (u8 *)&rtlpci->rxbuffersize);
@@ -793,6 +791,9 @@ done:
 						    HW_DESC_RXERO,
 						    (u8 *)&tmp_one);
 
+		rtlpriv->cfg->ops->set_desc((u8 *)pdesc, false, HW_DESC_RXOWN,
+					    (u8 *)&tmp_one);
+
 		index = (index + 1) % rtlpci->rxringcount;
 	}
 
Signature · 1 line
1.7.4.1