Simply this commnads not fit in chip 8101/8102 and was ignored by code.
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index bc2e5ce..410c1ee 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -6529,7 +6529,7 @@ static void rtl_hw_start_8101(struct net_device *dev)
 	rtl_set_rx_max_size(ioaddr, tp->rx_buf_sz);
 	
 	if (tp->mac_version == RTL_GIGA_MAC_VER_09)
-		tp->cp_cmd &= RxVlan | RxChksum;
+		tp->cp_cmd &= RxVlan | RxChkSum;
 	else
 		tp->cp_cmd &= ~R810X_CPCMD_QUIRK_MASK;
 
@@ -6548,9 +6548,9 @@ static void rtl_hw_start_8101(struct net_device *dev)
 		rtl_hw_start_8102e_3(tp);
 		break;
 
-	case RTL_GIGA_MAC_VER_09:
+       /* case RTL_GIGA_MAC_VER_09:
 		rtl_hw_start_8102e_2(tp);
-		break;
+		break; */
 
 	case RTL_GIGA_MAC_VER_29:
 		rtl_hw_start_8105e_1(tp);
@@ -6576,16 +6576,17 @@ static void rtl_hw_start_8101(struct net_device *dev)
 	}
 
 	RTL_W8(Cfg9346, Cfg9346_Lock);
-
-	RTL_W16(IntrMitigate, 0x0000);
+	if (!tp->mac_version == RTL_GIGA_MAC_VER_09)
+		RTL_W16(IntrMitigate, 0x0000);
 
 	RTL_W8(ChipCmd, CmdTxEnb | CmdRxEnb);
 
 	//rtl_set_rx_mode(dev);
 
 	//RTL_R8(IntrMask);
+	if (!tp->mac_version == RTL_GIGA_MAC_VER_09)
+		RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xf000);
 
-	RTL_W16(MultiIntr, RTL_R16(MultiIntr) & 0xf000);
 }
 
 static int rtl8169_change_mtu(struct net_device *dev, int new_mtu)

Reply via email to