From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net, jeff@garzik.org
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Alexander Duyck <alexander.h.duyck@intel.com>,
Jeff Kirsher <jeffrey.t.kirsher@intel.com>,
Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Subject: [PATCH 6/6] DCB: setting pg will cause tx unit hangs
Date: Tue, 14 Oct 2008 12:56:05 -0700 [thread overview]
Message-ID: <20081014195605.16879.38567.stgit@gitlost.lost> (raw)
In-Reply-To: <20081014195413.16879.25832.stgit@gitlost.lost>
From: Alexander Duyck <alexander.h.duyck@intel.com>
This patch fixes a hang in the ixgbe driver that occured when setting the Data Center Bridging (DCB) settings.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
---
drivers/net/ixgbe/ixgbe_dcb_nl.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c
index 51d162d..615c280 100644
--- a/drivers/net/ixgbe/ixgbe_dcb_nl.c
+++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c
@@ -135,7 +135,7 @@ static void ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
return;
} else {
- if (netdev->flags & IFF_UP)
+ if (netif_running(netdev))
netdev->stop(netdev);
ixgbe_reset_interrupt_capability(adapter);
ixgbe_napi_del_all(adapter);
@@ -149,13 +149,13 @@ static void ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
adapter->flags |= IXGBE_FLAG_DCB_ENABLED;
ixgbe_init_interrupt_scheme(adapter);
ixgbe_napi_add_all(adapter);
- if (netdev->flags & IFF_UP)
+ if (netif_running(netdev))
netdev->open(netdev);
}
} else {
/* Turn off DCB */
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {
- if (netdev->flags & IFF_UP)
+ if (netif_running(netdev))
netdev->stop(netdev);
ixgbe_reset_interrupt_capability(adapter);
ixgbe_napi_del_all(adapter);
@@ -169,7 +169,7 @@ static void ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state)
adapter->flags |= IXGBE_FLAG_RSS_ENABLED;
ixgbe_init_interrupt_scheme(adapter);
ixgbe_napi_add_all(adapter);
- if (netdev->flags & IFF_UP)
+ if (netif_running(netdev))
netdev->open(netdev);
} else {
return;
@@ -338,6 +338,9 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
while (test_and_set_bit(__IXGBE_RESETTING, &adapter->state))
msleep(1);
+ if (netif_running(netdev))
+ ixgbe_down(adapter);
+
ret = ixgbe_copy_dcb_cfg(&adapter->temp_dcb_cfg, &adapter->dcb_cfg,
adapter->ring_feature[RING_F_DCB].indices);
if (ret) {
@@ -345,8 +348,9 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev)
return ret;
}
- ixgbe_down(adapter);
- ixgbe_up(adapter);
+ if (netif_running(netdev))
+ ixgbe_up(adapter);
+
adapter->dcb_set_bitmap = 0x00;
clear_bit(__IXGBE_RESETTING, &adapter->state);
return ret;
prev parent reply other threads:[~2008-10-14 19:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-14 19:54 [PATCH 1/6] ixgbe: this patch adds support for DCB to the kernel and ixgbe driver Jeff Kirsher
2008-10-14 19:54 ` [PATCH 2/6] DCB: Add interface to query for the DCB capabilities of an device Jeff Kirsher
2008-10-14 19:54 ` [PATCH 3/6] DCB: Add interface to query # of TCs supported by device Jeff Kirsher
2008-10-14 19:55 ` [PATCH 4/6] DCB: Add interface to query the state of PFC feature Jeff Kirsher
2008-10-14 19:55 ` [PATCH 5/6] DCB: Add support for DCB BCN Jeff Kirsher
2008-10-14 19:56 ` Jeff Kirsher [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081014195605.16879.38567.stgit@gitlost.lost \
--to=jeffrey.t.kirsher@intel.com \
--cc=alexander.h.duyck@intel.com \
--cc=davem@davemloft.net \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peter.p.waskiewicz.jr@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.