|
@@ -313,6 +313,25 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
+ /* Indicate pause support */
|
|
|
+ ecmd->supported |= SUPPORTED_Pause;
|
|
|
+
|
|
|
+ switch (hw->fc.requested_mode) {
|
|
|
+ case ixgbe_fc_full:
|
|
|
+ ecmd->advertising |= ADVERTISED_Pause;
|
|
|
+ break;
|
|
|
+ case ixgbe_fc_rx_pause:
|
|
|
+ ecmd->advertising |= ADVERTISED_Pause |
|
|
|
+ ADVERTISED_Asym_Pause;
|
|
|
+ break;
|
|
|
+ case ixgbe_fc_tx_pause:
|
|
|
+ ecmd->advertising |= ADVERTISED_Asym_Pause;
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ ecmd->advertising &= ~(ADVERTISED_Pause |
|
|
|
+ ADVERTISED_Asym_Pause);
|
|
|
+ }
|
|
|
+
|
|
|
if (netif_carrier_ok(netdev)) {
|
|
|
switch (adapter->link_speed) {
|
|
|
case IXGBE_LINK_SPEED_10GB_FULL:
|