diff --git a/drivers/net/ethernet/nvidia/nvethernet/ethtool.c b/drivers/net/ethernet/nvidia/nvethernet/ethtool.c index 261f4ddf..e607e92b 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ethtool.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ethtool.c @@ -1161,7 +1161,11 @@ static inline void validate_eee_conf(struct net_device *ndev, * on whether EEE has toggled or not. */ if (!eee_req->eee_enabled && !eee_req->tx_lpi_enabled && +#if defined(NV_ETHTOOL_KEEE_STRUCT_PRESENT) /* Linux v6.9 */ + !linkmode_empty(eee_req->advertised)) { +#else eee_req->advertised) { +#endif if (eee_req->eee_enabled != cur_eee.eee_enabled) { netdev_warn(ndev, "EEE off. Set Rx LPI off\n"); #if defined(NV_ETHTOOL_KEEE_STRUCT_PRESENT) /* Linux v6.9 */ @@ -1176,7 +1180,11 @@ static inline void validate_eee_conf(struct net_device *ndev, } if (!eee_req->eee_enabled && eee_req->tx_lpi_enabled && +#if defined(NV_ETHTOOL_KEEE_STRUCT_PRESENT) /* Linux v6.9 */ + linkmode_empty(eee_req->advertised)) { +#else !eee_req->advertised) { +#endif if (eee_req->eee_enabled != cur_eee.eee_enabled) { netdev_warn(ndev, "EEE off. Set Tx LPI off\n"); eee_req->tx_lpi_enabled = OSI_DISABLE; @@ -1196,7 +1204,11 @@ static inline void validate_eee_conf(struct net_device *ndev, } if (!eee_req->eee_enabled && eee_req->tx_lpi_enabled && +#if defined(NV_ETHTOOL_KEEE_STRUCT_PRESENT) /* Linux v6.9 */ + !linkmode_empty(eee_req->advertised)) { +#else eee_req->advertised) { +#endif if (eee_req->eee_enabled != cur_eee.eee_enabled) { netdev_warn(ndev, "EEE off. Set Tx & Rx LPI off\n"); eee_req->tx_lpi_enabled = OSI_DISABLE; @@ -1212,7 +1224,11 @@ static inline void validate_eee_conf(struct net_device *ndev, } if (eee_req->eee_enabled && !eee_req->tx_lpi_enabled && +#if defined(NV_ETHTOOL_KEEE_STRUCT_PRESENT) /* Linux v6.9 */ + linkmode_empty(eee_req->advertised)) { +#else !eee_req->advertised) { +#endif if (eee_req->eee_enabled != cur_eee.eee_enabled) { netdev_warn(ndev, "EEE on. Set Tx & Rx LPI on\n"); eee_req->tx_lpi_enabled = OSI_ENABLE;