diff options
author | Ajit Khaparde <ajitk@serverengines.com> | 2009-11-06 03:06:59 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-07 05:26:03 +0100 |
commit | 9e90c961134929678022aee0c68b16c1ed520614 (patch) | |
tree | fee2dad0fcbfe8e5168edf9a394ecfa8061cc386 /drivers/net/benet/be_main.c | |
parent | Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil... (diff) | |
download | linux-9e90c961134929678022aee0c68b16c1ed520614.tar.xz linux-9e90c961134929678022aee0c68b16c1ed520614.zip |
be2net: fix to set proper flow control on resume
If be2 goes into suspend after a user changes the flow control settings,
we are not programming them back after resume. This patch takes care of it.
We now get the flow control settings before going to suspend mode and
then apply them during resume.
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/benet/be_main.c')
-rw-r--r-- | drivers/net/benet/be_main.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 1f941f027718..4a7a4527182d 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c @@ -1652,7 +1652,8 @@ static int be_setup(struct be_adapter *adapter) if (status != 0) goto mccqs_destroy; - status = be_cmd_set_flow_control(adapter, true, true); + status = be_cmd_set_flow_control(adapter, + adapter->tx_fc, adapter->rx_fc); if (status != 0) goto mccqs_destroy; return 0; @@ -1909,6 +1910,10 @@ static void be_netdev_init(struct net_device *netdev) adapter->rx_csum = true; + /* Default settings for Rx and Tx flow control */ + adapter->rx_fc = true; + adapter->tx_fc = true; + netif_set_gso_max_size(netdev, 65535); BE_SET_NETDEV_OPS(netdev, &be_netdev_ops); @@ -2171,6 +2176,7 @@ static int be_suspend(struct pci_dev *pdev, pm_message_t state) be_close(netdev); rtnl_unlock(); } + be_cmd_get_flow_control(adapter, &adapter->tx_fc, &adapter->rx_fc); be_clear(adapter); pci_save_state(pdev); |