Browse Source

r8169: Preserve other Device Control bits when setting NOSNOOP_EN

Previously, when we turned on the "Enable No Snoop Bit," we cleared all
the other Device Control bits, including error reporting enables,
Max_Payload_Size, Max_Read_Request_Size, etc.  This patch preserves
all the other bits.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Bjorn Helgaas 13 years ago
parent
commit
8200bc72a8
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/net/ethernet/realtek/r8169.c

+ 2 - 2
drivers/net/ethernet/realtek/r8169.c

@@ -5385,8 +5385,8 @@ static void rtl_hw_start_8101(struct net_device *dev)
 
 	if (tp->mac_version == RTL_GIGA_MAC_VER_13 ||
 	    tp->mac_version == RTL_GIGA_MAC_VER_16)
-		pcie_capability_write_word(pdev, PCI_EXP_DEVCTL,
-					   PCI_EXP_DEVCTL_NOSNOOP_EN);
+		pcie_capability_set_word(pdev, PCI_EXP_DEVCTL,
+					 PCI_EXP_DEVCTL_NOSNOOP_EN);
 
 	RTL_W8(Cfg9346, Cfg9346_Unlock);