netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled
@ 2010-06-30  4:28 Jeff Kirsher
  2010-06-30  4:28 ` [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser Jeff Kirsher
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jeff Kirsher @ 2010-06-30  4:28 UTC (permalink / raw)
  To: davem
  Cc: netdev, gospo, bphilips, Andy Gospodarek, Jesse Brandeburg,
	Jeff Kirsher

From: Andy Gospodarek <andy@greyhouse.net>

This patch added to 2.6.34:

	commit 5f6c01819979afbfec7e0b15fe52371b8eed87e8
	Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
	Date:   Wed Apr 14 16:04:23 2010 -0700

	    ixgbe: fix bug with vlan strip in promsic mode

among other things added a function called ixgbe_vlan_filter_enable.
This new function wants to access and set some rx_ring parameters, but
adapter->rx_ring has already been freed.  This simply moves the free
until after the access and makes __ixgbe_shutdown look more like
ixgbe_remove.

Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index ce30c62..e237748 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -5195,7 +5195,6 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
 		ixgbe_free_all_tx_resources(adapter);
 		ixgbe_free_all_rx_resources(adapter);
 	}
-	ixgbe_clear_interrupt_scheme(adapter);
 
 #ifdef CONFIG_PM
 	retval = pci_save_state(pdev);
@@ -5230,6 +5229,8 @@ static int __ixgbe_shutdown(struct pci_dev *pdev, bool *enable_wake)
 
 	*enable_wake = !!wufc;
 
+	ixgbe_clear_interrupt_scheme(adapter);
+
 	ixgbe_release_hw_control(adapter);
 
 	pci_disable_device(pdev);


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser
  2010-06-30  4:28 [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled Jeff Kirsher
@ 2010-06-30  4:28 ` Jeff Kirsher
  2010-06-30  6:15   ` David Miller
  2010-06-30  4:29 ` [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter Jeff Kirsher
  2010-06-30  6:15 ` [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled David Miller
  2 siblings, 1 reply; 6+ messages in thread
From: Jeff Kirsher @ 2010-06-30  4:28 UTC (permalink / raw)
  To: davem
  Cc: netdev, gospo, bphilips, John Fastabend, Peter P Waskiewicz Jr,
	Jeff Kirsher

From: John Fastabend <john.r.fastabend@intel.com>

Disabling the tx laser while receiving DMA requests
can hang the device.  After this occurs the device
is in a bad state. The GPIO bit never clears when
PCI master access is disabled and a reboot is required
to get the device in a good state again.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index e237748..7ddd60e 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -3684,10 +3684,6 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
 	/* signal that we are down to the interrupt handler */
 	set_bit(__IXGBE_DOWN, &adapter->state);
 
-	/* power down the optics */
-	if (hw->phy.multispeed_fiber)
-		hw->mac.ops.disable_tx_laser(hw);
-
 	/* disable receive for all VFs and wait one second */
 	if (adapter->num_vfs) {
 		/* ping all the active vfs to let them know we are going down */
@@ -3742,6 +3738,10 @@ void ixgbe_down(struct ixgbe_adapter *adapter)
 		                (IXGBE_READ_REG(hw, IXGBE_DMATXCTL) &
 		                 ~IXGBE_DMATXCTL_TE));
 
+	/* power down the optics */
+	if (hw->phy.multispeed_fiber)
+		hw->mac.ops.disable_tx_laser(hw);
+
 	/* clear n-tuple filters that are cached */
 	ethtool_ntuple_flush(netdev);
 


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter
  2010-06-30  4:28 [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled Jeff Kirsher
  2010-06-30  4:28 ` [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser Jeff Kirsher
@ 2010-06-30  4:29 ` Jeff Kirsher
  2010-06-30  6:15   ` David Miller
  2010-06-30  6:15 ` [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled David Miller
  2 siblings, 1 reply; 6+ messages in thread
From: Jeff Kirsher @ 2010-06-30  4:29 UTC (permalink / raw)
  To: davem
  Cc: netdev, gospo, bphilips, Guillaume Gaudonville,
	Peter P Waskiewicz Jr, Don Skidmore, Jeff Kirsher

From: Guillaume Gaudonville <guillaume.gaudonville@6wind.com>

In driver ixgbe, ixgbe_atr may cause crashes for non-ipv4 packets. Just
add a test to check skb->protocol.  It may crash on short packets due
to ip_hdr() access.

Signed-off-by: Guillaume Gaudonville <guillaume.gaudonville@6wind.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---

 drivers/net/ixgbe/ixgbe_main.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index 7ddd60e..a0b3316 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -6024,7 +6024,6 @@ static void ixgbe_tx_queue(struct ixgbe_adapter *adapter,
 static void ixgbe_atr(struct ixgbe_adapter *adapter, struct sk_buff *skb,
 	              int queue, u32 tx_flags)
 {
-	/* Right now, we support IPv4 only */
 	struct ixgbe_atr_input atr_input;
 	struct tcphdr *th;
 	struct iphdr *iph = ip_hdr(skb);
@@ -6033,6 +6032,9 @@ static void ixgbe_atr(struct ixgbe_adapter *adapter, struct sk_buff *skb,
 	u32 src_ipv4_addr, dst_ipv4_addr;
 	u8 l4type = 0;
 
+	/* Right now, we support IPv4 only */
+	if (skb->protocol != htons(ETH_P_IP))
+		return;
 	/* check if we're UDP or TCP */
 	if (iph->protocol == IPPROTO_TCP) {
 		th = tcp_hdr(skb);


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled
  2010-06-30  4:28 [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled Jeff Kirsher
  2010-06-30  4:28 ` [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser Jeff Kirsher
  2010-06-30  4:29 ` [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter Jeff Kirsher
@ 2010-06-30  6:15 ` David Miller
  2 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-06-30  6:15 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, bphilips, andy, jesse.brandeburg

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 29 Jun 2010 21:28:12 -0700

> From: Andy Gospodarek <andy@greyhouse.net>
> 
> This patch added to 2.6.34:
> 
> 	commit 5f6c01819979afbfec7e0b15fe52371b8eed87e8
> 	Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 	Date:   Wed Apr 14 16:04:23 2010 -0700
> 
> 	    ixgbe: fix bug with vlan strip in promsic mode
> 
> among other things added a function called ixgbe_vlan_filter_enable.
> This new function wants to access and set some rx_ring parameters, but
> adapter->rx_ring has already been freed.  This simply moves the free
> until after the access and makes __ixgbe_shutdown look more like
> ixgbe_remove.
> 
> Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser
  2010-06-30  4:28 ` [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser Jeff Kirsher
@ 2010-06-30  6:15   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-06-30  6:15 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: netdev, gospo, bphilips, john.r.fastabend, peter.p.waskiewicz.jr

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 29 Jun 2010 21:28:36 -0700

> From: John Fastabend <john.r.fastabend@intel.com>
> 
> Disabling the tx laser while receiving DMA requests
> can hang the device.  After this occurs the device
> is in a bad state. The GPIO bit never clears when
> PCI master access is disabled and a reboot is required
> to get the device in a good state again.
> 
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter
  2010-06-30  4:29 ` [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter Jeff Kirsher
@ 2010-06-30  6:15   ` David Miller
  0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2010-06-30  6:15 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: netdev, gospo, bphilips, guillaume.gaudonville,
	peter.p.waskiewicz.jr, donald.c.skidmore

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 29 Jun 2010 21:29:00 -0700

> From: Guillaume Gaudonville <guillaume.gaudonville@6wind.com>
> 
> In driver ixgbe, ixgbe_atr may cause crashes for non-ipv4 packets. Just
> add a test to check skb->protocol.  It may crash on short packets due
> to ip_hdr() access.
> 
> Signed-off-by: Guillaume Gaudonville <guillaume.gaudonville@6wind.com>
> Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
> Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

Applied.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-06-30  6:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-30  4:28 [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled Jeff Kirsher
2010-06-30  4:28 ` [net-2.6 PATCH 2/3] ixgbe: disable tx engine before disabling tx laser Jeff Kirsher
2010-06-30  6:15   ` David Miller
2010-06-30  4:29 ` [net-2.6 PATCH 3/3] ixgbe: skip non IPv4 packets in ATR filter Jeff Kirsher
2010-06-30  6:15   ` David Miller
2010-06-30  6:15 ` [net-2.6 PATCH 1/3] ixgbe: fix panic when shutting down system with WoL enabled David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).