diff options
Diffstat (limited to 'drivers/net/phy/phylink.c')
| -rw-r--r-- | drivers/net/phy/phylink.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 74983593834b..9044b95d2afe 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -51,6 +51,10 @@ struct phylink {  	/* The link configuration settings */  	struct phylink_link_state link_config; + +	/* The current settings */ +	phy_interface_t cur_interface; +  	struct gpio_desc *link_gpio;  	struct timer_list link_poll;  	void (*get_fixed_state)(struct net_device *dev, @@ -446,12 +450,12 @@ static void phylink_resolve(struct work_struct *w)  		if (!link_state.link) {  			netif_carrier_off(ndev);  			pl->ops->mac_link_down(ndev, pl->link_an_mode, -					       pl->phy_state.interface); +					       pl->cur_interface);  			netdev_info(ndev, "Link is Down\n");  		} else { +			pl->cur_interface = link_state.interface;  			pl->ops->mac_link_up(ndev, pl->link_an_mode, -					     pl->phy_state.interface, -					     pl->phydev); +					     pl->cur_interface, pl->phydev);  			netif_carrier_on(ndev);  | 
