diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch b/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch new file mode 100644 index 0000000000..ae09e08337 --- /dev/null +++ b/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch @@ -0,0 +1,18 @@ +--- a/drivers/net/usb/lan78xx.c ++++ b/drivers/net/usb/lan78xx.c +@@ -2458,6 +2458,15 @@ static int lan78xx_reset(struct lan78xx_ + + ret = lan78xx_read_reg(dev, HW_CFG, &buf); + buf |= HW_CFG_MEF_; ++ if (dev->chipid == ID_REV_CHIP_ID_7800_) { ++ ret = lan78xx_read_raw_eeprom(dev, 0, 1, &sig); ++ if (!ret && sig != EEPROM_INDICATOR) { ++ /* Implies there is no external eeprom. Enable LEDS */ ++ netdev_info(dev->net, ++ "No External EEPROM. Enabling LEDS\n"); ++ buf |= HW_CFG_LED0_EN_ | HW_CFG_LED1_EN_; ++ } ++ } + ret = lan78xx_write_reg(dev, HW_CFG, buf); + + ret = lan78xx_read_reg(dev, USB_CFG0, &buf); |