aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/961-lan78xx-enable-LED.patch
blob: cf8fb8ce70c3f886dbe214e32e9129ec012a8c63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -2463,6 +2463,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);