]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
more 2.6.23 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Jan 2008 23:31:42 +0000 (15:31 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Jan 2008 23:31:42 +0000 (15:31 -0800)
queue-2.6.23/powerpc-change-fallocate-to-match-unistd.h-on-powerpc.patch [new file with mode: 0644]
queue-2.6.23/series
queue-2.6.23/sky2-1 [new file with mode: 0644]
queue-2.6.23/sky2-xl-chksum [new file with mode: 0644]

diff --git a/queue-2.6.23/powerpc-change-fallocate-to-match-unistd.h-on-powerpc.patch b/queue-2.6.23/powerpc-change-fallocate-to-match-unistd.h-on-powerpc.patch
new file mode 100644 (file)
index 0000000..0953578
--- /dev/null
@@ -0,0 +1,41 @@
+From f2205fbb5a8933514fd343cc329df631802b4543 Mon Sep 17 00:00:00 2001
+From: Patrick Mansfield <patmans@us.ibm.com>
+Date: Sun, 4 Nov 2007 04:42:03 +1100
+Subject: POWERPC: Change fallocate to match unistd.h on powerpc
+Message-Id: <20080103131624.5a3e98e8.sfr@canb.auug.org.au>
+
+From: Patrick Mansfield <patmans@us.ibm.com>
+
+patch f2205fbb5a8933514fd343cc329df631802b4543 in mainline.
+
+Fix the fallocate system call on powerpc to match its unistd.h.
+
+This implies none of these system calls are currently working with the
+unistd.h sys call values:
+       fallocate
+       signalfd
+       timerfd
+       eventfd
+       sync_file_range2
+
+Signed-off-by: Patrick Mansfield <patmans@us.ibm.com>
+Acked-by: Anton Blanchard <anton@samba.org>
+Signed-off-by: Paul Mackerras <paulus@samba.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ include/asm-powerpc/systbl.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/asm-powerpc/systbl.h
++++ b/include/asm-powerpc/systbl.h
+@@ -308,8 +308,8 @@ COMPAT_SYS_SPU(move_pages)
+ SYSCALL_SPU(getcpu)
+ COMPAT_SYS(epoll_pwait)
+ COMPAT_SYS_SPU(utimensat)
+-COMPAT_SYS(fallocate)
+ COMPAT_SYS_SPU(signalfd)
+ COMPAT_SYS_SPU(timerfd)
+ SYSCALL_SPU(eventfd)
+ COMPAT_SYS_SPU(sync_file_range2)
++COMPAT_SYS(fallocate)
index 136bc113e28e2c167e53377afc8b931a9f76a8de..e37bd322d4ccd05f3921430b8413f0775db2de9b 100644 (file)
@@ -10,3 +10,6 @@ ipsec-fix-potential-dst-leak-in-xfrm_lookup.patch
 vlan-lost-rtnl_unlock-in-vlan_ioctl.patch
 tty-fix-logic-change-introduced-by-wait_event_interruptible_timeout.patch
 ipv4-raw-strengthen-check-on-validity-of-iph-ihl.patch
+sky2-xl-chksum
+sky2-1
+powerpc-change-fallocate-to-match-unistd.h-on-powerpc.patch
diff --git a/queue-2.6.23/sky2-1 b/queue-2.6.23/sky2-1
new file mode 100644 (file)
index 0000000..ebe2794
--- /dev/null
@@ -0,0 +1,57 @@
+From stable-bounces@linux.kernel.org Wed Dec 26 10:03:14 2007
+From: Stephen Hemminger <shemminger@linux-foundation.org>
+Date: Wed, 26 Dec 2007 09:59:27 -0800
+Subject: sky2: RX lockup fix
+To: stable@kernel.org
+Cc: Peter Tyser <ptyser@xes-inc.com>
+Message-ID: <20071226180019.750518384@linux-foundation.org>
+Content-Disposition: inline; filename=sky2-1
+
+From: Stephen Hemminger <shemminger@linux-foundation.org>
+
+Backport commit 798fdd07fcc131f396e521febb4a7d42559bf4b5
+
+I'm using a Marvell 88E8062 on a custom PPC64 blade and ran into RX
+lockups while validating the sky2 driver.  The receive MAC FIFO would
+become stuck during testing with high traffic.  One port of the 88E8062
+would lockup, while the other port remained functional.  Re-inserting
+the sky2 module would not fix the problem - only a power cycle would.
+
+I looked over Marvell's most recent sk98lin driver and it looks like
+they had a "workaround" for the Yukon XL that the sky2 doesn't have yet.
+The sk98lin driver disables the RX MAC FIFO flush feature for all
+revisions of the Yukon XL.
+
+According to skgeinit.c of the sk98lin driver, "Flushing must be enabled
+(needed for ASF see dev. #4.29), but the flushing mask should be
+disabled (see dev. #4.115)".  Nice. I implemented this same change in
+the sky2 driver and verified that the RX lockup I was seeing was
+resolved.
+
+Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
+Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/net/sky2.c |    9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/drivers/net/sky2.c
++++ b/drivers/net/sky2.c
+@@ -812,8 +812,13 @@ static void sky2_mac_init(struct sky2_hw
+       sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), rx_reg);
+-      /* Flush Rx MAC FIFO on any flow control or error */
+-      sky2_write16(hw, SK_REG(port, RX_GMF_FL_MSK), GMR_FS_ANY_ERR);
++      if (hw->chip_id == CHIP_ID_YUKON_XL) {
++              /* Hardware errata - clear flush mask */
++              sky2_write16(hw, SK_REG(port, RX_GMF_FL_MSK), 0);
++      } else {
++              /* Flush Rx MAC FIFO on any flow control or error */
++              sky2_write16(hw, SK_REG(port, RX_GMF_FL_MSK), GMR_FS_ANY_ERR);
++      }
+       /* Set threshold to 0xa (64 bytes) + 1 to workaround pause bug  */
+       reg = RX_GMF_FL_THR_DEF + 1;
diff --git a/queue-2.6.23/sky2-xl-chksum b/queue-2.6.23/sky2-xl-chksum
new file mode 100644 (file)
index 0000000..47dff13
--- /dev/null
@@ -0,0 +1,57 @@
+From stable-bounces@linux.kernel.org Wed Dec 26 10:03:14 2007
+From: Stephen Hemminger <shemminger@linux-foundation.org>
+Date: Wed, 26 Dec 2007 09:59:26 -0800
+Subject: sky2: disable rx checksum on Yukon XL
+To: stable@kernel.org
+Message-ID: <20071226180019.676383679@linux-foundation.org>
+Content-Disposition: inline; filename=sky2-xl-chksum
+
+From: Stephen Hemminger <shemminger@linux-foundation.org>
+
+Backport of 8b31cfbcd1b54362ef06c85beb40e65a349169a2
+
+The Marvell Yukon XL chipset appears to have a hardware glitch
+where it will repeat the checksum of the last packet. Of course, this is
+timing sensitive and only happens sometimes...
+
+More info: http://bugzilla.kernel.org/show_bug.cgi?id=9381
+
+As a workaround just disable hardware checksumming by default on
+this chip version. The earlier workaround for PCIX, dual port
+was also on Yukon XL so don't need to disable checksumming there.
+
+Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+
+---
+ drivers/net/sky2.c |    6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+--- a/drivers/net/sky2.c
++++ b/drivers/net/sky2.c
+@@ -1307,15 +1307,11 @@ static int sky2_up(struct net_device *de
+        */
+       if (otherdev && netif_running(otherdev) &&
+           (cap = pci_find_capability(hw->pdev, PCI_CAP_ID_PCIX))) {
+-              struct sky2_port *osky2 = netdev_priv(otherdev);
+               u16 cmd;
+               cmd = sky2_pci_read16(hw, cap + PCI_X_CMD);
+               cmd &= ~PCI_X_CMD_MAX_SPLIT;
+               sky2_pci_write16(hw, cap + PCI_X_CMD, cmd);
+-
+-              sky2->rx_csum = 0;
+-              osky2->rx_csum = 0;
+       }
+       if (netif_msg_ifup(sky2))
+@@ -4017,7 +4013,7 @@ static __devinit struct net_device *sky2
+       sky2->duplex = -1;
+       sky2->speed = -1;
+       sky2->advertising = sky2_supported_modes(hw);
+-      sky2->rx_csum = 1;
++      sky2->rx_csum = (hw->chip_id != CHIP_ID_YUKON_XL);
+       sky2->wol = wol;
+       spin_lock_init(&sky2->phy_lock);