diff options
author | Rajesh Borundia <rajesh.borundia@qlogic.com> | 2014-01-28 11:55:29 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-28 14:59:30 -0500 |
commit | 060d0564a9152f210183aebad41c41794e18f419 (patch) | |
tree | 798f7294a183484b4ee4c6e225630956008e6aed | |
parent | bcf6cb1aa415055749d855eead774896141eb5d8 (diff) |
qlcnic: Fix tx timeout.
o __qlcnic_down call's netif_tx_disable which in turn stops
all the TX queues, corresponding start queue was missing in
__qlcnic_up which was leading to tx timeout.
o The commit b84caae486135d588fb200973b0be8cb8a511edf
(qlcnic: Fix usage of netif_tx_{wake, stop} api during link change.)
exposed this issue.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index 1f79d47c45fa..ba78c7481fa3 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c | |||
@@ -1837,6 +1837,7 @@ int __qlcnic_up(struct qlcnic_adapter *adapter, struct net_device *netdev) | |||
1837 | qlcnic_linkevent_request(adapter, 1); | 1837 | qlcnic_linkevent_request(adapter, 1); |
1838 | 1838 | ||
1839 | adapter->ahw->reset_context = 0; | 1839 | adapter->ahw->reset_context = 0; |
1840 | netif_tx_start_all_queues(netdev); | ||
1840 | return 0; | 1841 | return 0; |
1841 | } | 1842 | } |
1842 | 1843 | ||
@@ -2704,14 +2705,8 @@ static int qlcnic_open(struct net_device *netdev) | |||
2704 | 2705 | ||
2705 | err = __qlcnic_up(adapter, netdev); | 2706 | err = __qlcnic_up(adapter, netdev); |
2706 | if (err) | 2707 | if (err) |
2707 | goto err_out; | 2708 | qlcnic_detach(adapter); |
2708 | |||
2709 | netif_tx_start_all_queues(netdev); | ||
2710 | |||
2711 | return 0; | ||
2712 | 2709 | ||
2713 | err_out: | ||
2714 | qlcnic_detach(adapter); | ||
2715 | return err; | 2710 | return err; |
2716 | } | 2711 | } |
2717 | 2712 | ||