Loading drivers/net/benet/be.h +1 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,7 @@ struct be_adapter { u32 tx_fc; /* Tx flow control */ int link_speed; u8 port_type; u8 transceiver; }; extern const struct ethtool_ops be_ethtool_ops; Loading drivers/net/benet/be_ethtool.c +31 −9 Original line number Diff line number Diff line Loading @@ -340,28 +340,50 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) status = be_cmd_read_port_type(adapter, adapter->port_num, &connector); if (!status) { switch (connector) { case 7: ecmd->port = PORT_FIBRE; ecmd->transceiver = XCVR_EXTERNAL; break; case 0: ecmd->port = PORT_TP; ecmd->transceiver = XCVR_EXTERNAL; break; default: ecmd->port = PORT_TP; ecmd->transceiver = XCVR_INTERNAL; break; } } else { ecmd->port = PORT_AUI; ecmd->transceiver = XCVR_INTERNAL; } /* Save for future use */ adapter->link_speed = ecmd->speed; adapter->port_type = ecmd->port; adapter->transceiver = ecmd->transceiver; } else { ecmd->speed = adapter->link_speed; ecmd->port = adapter->port_type; ecmd->transceiver = adapter->transceiver; } ecmd->duplex = DUPLEX_FULL; ecmd->autoneg = AUTONEG_DISABLE; ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); ecmd->phy_address = adapter->port_num; ecmd->transceiver = XCVR_INTERNAL; switch (ecmd->port) { case PORT_FIBRE: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); break; case PORT_TP: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); break; case PORT_AUI: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_AUI); break; } return 0; } Loading Loading
drivers/net/benet/be.h +1 −0 Original line number Diff line number Diff line Loading @@ -275,6 +275,7 @@ struct be_adapter { u32 tx_fc; /* Tx flow control */ int link_speed; u8 port_type; u8 transceiver; }; extern const struct ethtool_ops be_ethtool_ops; Loading
drivers/net/benet/be_ethtool.c +31 −9 Original line number Diff line number Diff line Loading @@ -340,28 +340,50 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) status = be_cmd_read_port_type(adapter, adapter->port_num, &connector); if (!status) { switch (connector) { case 7: ecmd->port = PORT_FIBRE; ecmd->transceiver = XCVR_EXTERNAL; break; case 0: ecmd->port = PORT_TP; ecmd->transceiver = XCVR_EXTERNAL; break; default: ecmd->port = PORT_TP; ecmd->transceiver = XCVR_INTERNAL; break; } } else { ecmd->port = PORT_AUI; ecmd->transceiver = XCVR_INTERNAL; } /* Save for future use */ adapter->link_speed = ecmd->speed; adapter->port_type = ecmd->port; adapter->transceiver = ecmd->transceiver; } else { ecmd->speed = adapter->link_speed; ecmd->port = adapter->port_type; ecmd->transceiver = adapter->transceiver; } ecmd->duplex = DUPLEX_FULL; ecmd->autoneg = AUTONEG_DISABLE; ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); ecmd->phy_address = adapter->port_num; ecmd->transceiver = XCVR_INTERNAL; switch (ecmd->port) { case PORT_FIBRE: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); break; case PORT_TP: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); break; case PORT_AUI: ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_AUI); break; } return 0; } Loading