--- a/src/r8125_n.c +++ b/src/r8125_n.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -14818,6 +14819,23 @@ rtl8125_setup_mqs_reg(struct rtl8125_pri } } +static int +rtl8125_led_configuration(struct rtl8125_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) + return ret; + + RTL_W16(tp, CustomLED, led_data); + + return 0; +} + static void rtl8125_init_software_variable(struct net_device *dev) { @@ -15384,6 +15402,8 @@ rtl8125_init_software_variable(struct ne if (tp->InitRxDescType == RX_DESC_RING_TYPE_3) tp->rtl8125_rx_config |= EnableRxDescV3; + rtl8125_led_configuration(tp); + tp->NicCustLedValue = RTL_R16(tp, CustomLED); tp->wol_opts = rtl8125_get_hw_wol(tp);