2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-10 06:34:17 +08:00
linux-next/drivers/net/ethernet
Mika Lansirinne 860502bf68 ixgbe: get pauseparam autoneg
There is a problem in the ixgbe driver with the reporting of the flow
control parameters. The autoneg parameter is shown to be of if
*either* it really is off, or current modes for both tx and rx are off.

The problem is seen when the parameters are read or set when the link
is down. In this case, the driver sees that tx and rx are currently off
and therefore autoneg parameter is incorrectly reported to be off too.
Also, the ethtool binary can not set the autoneg off since it sees that
it already is. When a link later comes up, the autonegotiation is
carried out normally and the driver later on reports the autoneg
parameter to be on (as it is) and then it can also be changed with
ethtool.

The patch is made against v3.0 kernel, but the problem seems to be there
since v2.6.30-rc1.

Reviewer comments: What we are trying to do is to disable flow control
while the cable is disconnected. Since ixgbe defaults to full flow
control, we call ethtool -A autoneg off rx off tx off while the cable
is disconnected. This doesn't work, because the driver sets
hw->fc.current_mode = ixgbe_fc_none if the cable is unplugged.
ixgbe_get_pauseparam() then reports to ethtool that nothing needs to be
done. The code fixes this, but it might have some unknown consequences.

Signed-off-by: Mika Lansirinne <mika.lansirinne@stonesoft.com>
Reviewed-by: Esa-Pekka Pyokkimies <esa-pekka.pyokkimies@stonesoft.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2011-10-05 02:54:59 -07:00
..
3com typhoon: convert to SKB paged frag API. 2011-09-22 16:04:17 -04:00
8390 drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
adaptec starfire: convert to SKB paged frag API. 2011-09-22 16:04:15 -04:00
adi MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
aeroflex Merge branch 'master' of github.com:davem330/net 2011-09-22 03:23:13 -04:00
alteon acenic: convert to SKB paged frag API. 2011-08-30 17:57:59 -04:00
amd drivers/net/ethernet: remove unused #define. 2011-10-03 14:09:10 -04:00
apple macmace, macsonic: cleanup 2011-09-21 15:31:35 -04:00
atheros Merge branch 'master' of ../netdev-next/ 2011-09-16 02:58:54 -04:00
broadcom bnx2: don't request firmware when there's no userspace. 2011-10-03 14:09:10 -04:00
brocade bna: Multiple Definition and Interface Setup Fix 2011-10-04 23:04:01 -04:00
cadence MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
chelsio ethtool: Clean up definitions of rule location arrays in RX NFC 2011-09-16 19:25:10 -04:00
cirrus MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
cisco enic: Add support for port profile association on a enic SRIOV VF 2011-09-27 01:10:24 -04:00
davicom MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
dec drivers/net/ethernet: remove unused #define. 2011-10-03 14:09:10 -04:00
dlink MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
emulex be2net: Making die temperature ioctl call async 2011-10-03 12:17:32 -04:00
faraday MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
freescale net/fec: add poll controller function for fec nic 2011-09-29 14:46:49 -04:00
fujitsu drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
hp drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
i825xx drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
ibm ehea: Remove sleep at .ndo_get_stats 2011-09-27 00:47:00 -04:00
icplus MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
intel ixgbe: get pauseparam autoneg 2011-10-05 02:54:59 -07:00
marvell skge: handle irq better on single port card 2011-09-27 13:41:37 -04:00
mellanox drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
micrel MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
microchip drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
myricom drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
natsemi macmace, macsonic: cleanup 2011-09-21 15:31:35 -04:00
neterion s2io: convert to SKB paged frag API. 2011-09-22 16:04:15 -04:00
nuvoton MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
nvidia forcedeth: convert to SKB paged frag API. 2011-08-30 17:58:02 -04:00
octeon
oki-semi pch_gbe: remove unused variable 2011-09-27 00:49:59 -04:00
packetengines MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
pasemi pasemi: convert to SKB paged frag API. 2011-09-15 15:35:00 -04:00
qlogic qlcnic: Change CDRP function 2011-09-23 14:23:59 -04:00
racal drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
rdc MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
realtek sc92031: use standard #defines from mii.h. 2011-10-03 14:09:10 -04:00
renesas net: sh_eth: fix build failure 2011-10-03 13:52:28 -04:00
seeq seeq: fix compile breakage on s390 2011-09-23 13:45:47 -04:00
sfc sfc: convert to SKB paged frag API. 2011-09-22 16:04:15 -04:00
sgi MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
sis MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
smsc net/smsc911x: Correctly configure 16-bit register access from DT 2011-09-21 15:18:31 -04:00
stmicro stmmac: convert to SKB paged frag API. 2011-09-22 16:04:16 -04:00
sun sunhme: convert to SKB paged frag API. 2011-09-22 16:04:16 -04:00
tehuti tehuti: shorten PCI device table. 2011-10-03 14:09:10 -04:00
ti drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
tile
toshiba drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
tundra tsi108: convert to SKB paged frag API. 2011-09-22 16:04:16 -04:00
via via-velocity: convert to SKB paged frag API. 2011-09-22 16:04:17 -04:00
xilinx drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
xircom drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
xscale drivers/net/ethernet/*: Enabled vendor Kconfig options 2011-08-27 00:58:56 -07:00
dnet.c
dnet.h
ethoc.c
fealnx.c
jme.c jme: convert to SKB paged frag API. 2011-09-15 15:34:59 -04:00
jme.h drivers/net/ethernet: remove unused #define. 2011-10-03 14:09:10 -04:00
Kconfig MII: fix Kconfig dependencies for MII 2011-09-15 15:49:08 -04:00
korina.c
lantiq_etop.c
Makefile
mipsnet.c
netx-eth.c
s6gmac.c