--- a/src/r8168_n.c +++ b/src/r8168_n.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -26180,6 +26181,18 @@ rtl8168_setup_mqs_reg(struct rtl8168_pri } static void +rtl8168_led_configuration(struct rtl8168_private *tp) +{ + u32 led_data; + int ret; + + ret = of_property_read_u32(tp->pci_dev->dev.of_node, + "realtek,led-data", &led_data); + if (!ret) + RTL_W16(tp, CustomLED, led_data); +} + +static void rtl8168_init_software_variable(struct net_device *dev) { struct rtl8168_private *tp = netdev_priv(dev); @@ -26896,6 +26909,7 @@ err1: if (tp->InitRxDescType == RX_DESC_RING_TYPE_2) tp->RxDescLength = RX_DESC_LEN_TYPE_2; + rtl8168_led_configuration(tp); tp->NicCustLedValue = RTL_R16(tp, CustomLED); rtl8168_get_hw_wol(dev);