diff options
Diffstat (limited to 'drivers/net/dsa/microchip/ksz_common.c')
| -rw-r--r-- | drivers/net/dsa/microchip/ksz_common.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index b074b4bb0629..1491099528be 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -2578,7 +2578,11 @@ static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port)  		if (!port)  			return MICREL_KSZ8_P1_ERRATA;  		break; +	case KSZ8567_CHIP_ID:  	case KSZ9477_CHIP_ID: +	case KSZ9567_CHIP_ID: +	case KSZ9896_CHIP_ID: +	case KSZ9897_CHIP_ID:  		/* KSZ9477 Errata DS80000754C  		 *  		 * Module 4: Energy Efficient Ethernet (EEE) feature select must @@ -2588,6 +2592,13 @@ static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port)  		 *   controls. If not disabled, the PHY ports can auto-negotiate  		 *   to enable EEE, and this feature can cause link drops when  		 *   linked to another device supporting EEE. +		 * +		 * The same item appears in the errata for the KSZ9567, KSZ9896, +		 * and KSZ9897. +		 * +		 * A similar item appears in the errata for the KSZ8567, but +		 * provides an alternative workaround. For now, use the simple +		 * workaround of disabling the EEE feature for this device too.  		 */  		return MICREL_NO_EEE;  	} @@ -3764,6 +3775,11 @@ static int ksz_port_set_mac_address(struct dsa_switch *ds, int port,  		return -EBUSY;  	} +	/* Need to initialize variable as the code to fill in settings may +	 * not be executed. +	 */ +	wol.wolopts = 0; +  	ksz_get_wol(ds, dp->index, &wol);  	if (wol.wolopts & WAKE_MAGIC) {  		dev_err(ds->dev,  | 
