Author: waldi
Date: Sat Oct 28 16:44:41 2006
New Revision: 7657

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/net-netpoll.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-hotplug_loop.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-mmio8167.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/net-sky2-lockup.patch
   dists/trunk/linux-2.6/debian/patches/features/net-forcedeth-swsusp.patch
   dists/trunk/linux-2.6/debian/patches/features/net-r8169-pci_id-corega.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/4
   dists/trunk/linux-2.6/debian/templates/control.source.in
Log:
Reintroduce revisions 7641 to 7648.


Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog      (original)
+++ dists/trunk/linux-2.6/debian/changelog      Sat Oct 28 16:44:41 2006
@@ -23,7 +23,16 @@
   * arm/iop32x: Fix the interrupt of the 2nd Ethernet slot on N2100.
   * arm/iop32x: Allow USB and serial to co-exist on N2100.
 
- -- Norbert Tretkowski <[EMAIL PROTECTED]>  Sat, 21 Oct 2006 18:52:12 +0200
+  [ maximilian attems ]
+  * Add netpoll leak fix.
+  * Add sky2 lookup patch for the Marvell 88E803X Yukon-FE chip.
+  * Add upstream forcedeth swsusp support.
+  * r8169: PCI ID for Corega Gigabit network card.
+  * r8169: the MMIO region of the 8167 stands behin BAR#1.
+  * r8169: Add upstream fix for infinite loop during hotplug.
+  * Bump build-dependency on kernel-package to 10.063.
+
+ -- maximilian attems <[EMAIL PROTECTED]>  Wed, 25 Oct 2006 11:47:18 +0200
 
 linux-2.6 (2.6.18-3) unstable; urgency=low
 

Added: dists/trunk/linux-2.6/debian/patches/bugfix/net-netpoll.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/net-netpoll.patch       Sat Oct 
28 16:44:41 2006
@@ -0,0 +1,42 @@
+From [EMAIL PROTECTED] Wed Oct 18 23:31:05 2006
+From: Stephen Hemminger <[EMAIL PROTECTED]>
+
+If netpoll uses up it's retries, it should drop the skb
+not leak memory.
+
+Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
+---
+ net/core/netpoll.c |    8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/net/core/netpoll.c b/net/core/netpoll.c
+index ead5920..c375fde 100644
+--- a/net/core/netpoll.c
++++ b/net/core/netpoll.c
+@@ -273,10 +273,8 @@ static void netpoll_send_skb(struct netp
+       int status;
+       struct netpoll_info *npinfo;
+ 
+-      if (!np || !np->dev || !netif_running(np->dev)) {
+-              __kfree_skb(skb);
+-              return;
+-      }
++      if (!np || !np->dev || !netif_running(np->dev))
++              goto free_skb;
+ 
+       npinfo = np->dev->npinfo;
+ 
+@@ -314,6 +312,8 @@ static void netpoll_send_skb(struct netp
+               netpoll_poll(np);
+               udelay(50);
+       } while (npinfo->tries > 0);
++free_skb:
++      __kfree_skb(skb);
+ }
+ 
+ void netpoll_send_udp(struct netpoll *np, const char *msg, int len)
+-- 
+1.4.2.3
+
+
+

Added: dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-hotplug_loop.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-hotplug_loop.patch    
Sat Oct 28 16:44:41 2006
@@ -0,0 +1,36 @@
+From [EMAIL PROTECTED] Fri Oct 13 07:35:57 2006
+Date: Thu, 12 Oct 2006 22:30:46 +0200
+From: Francois Romieu <[EMAIL PROTECTED]>
+
+Arnaud Patard:
+      r8169: fix infinite loop during hotplug
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 4c47c5b..c2c9a86 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -2701,6 +2702,7 @@ static void rtl8169_down(struct net_devi
+       struct rtl8169_private *tp = netdev_priv(dev);
+       void __iomem *ioaddr = tp->mmio_addr;
+       unsigned int poll_locked = 0;
++      unsigned int intrmask;
+ 
+       rtl8169_delete_timer(dev);
+ 
+@@ -2739,8 +2741,11 @@ core_down:
+        * 2) dev->change_mtu
+        *    -> rtl8169_poll can not be issued again and re-enable the
+        *       interruptions. Let's simply issue the IRQ down sequence again.
++       *
++       * No loop if hotpluged or major error (0xffff).
+        */
+-      if (RTL_R16(IntrMask))
++      intrmask = RTL_R16(IntrMask);
++      if (intrmask && (intrmask != 0xffff))
+               goto core_down;
+ 
+       rtl8169_tx_clear(tp);
+-- 
+Ueimor
+
+

Added: dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-mmio8167.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/net-r8169-mmio8167.patch        
Sat Oct 28 16:44:41 2006
@@ -0,0 +1,23 @@
+From [EMAIL PROTECTED] Fri Sep 22 15:58:36 2006
+From: Francois Romieu <[EMAIL PROTECTED]>
+
+    r8169: the MMIO region of the 8167 stands behin BAR#1
+     
+
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 805562b..93cd1f4 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -210,7 +210,7 @@ static const struct {
+ static struct pci_device_id rtl8169_pci_tbl[] = {
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8129), 0, 0, RTL_CFG_0 },
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8136), 0, 0, RTL_CFG_2 },
+-      { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8167), 0, 0, RTL_CFG_1 },
++      { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8167), 0, 0, RTL_CFG_0 },
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8168), 0, 0, RTL_CFG_2 },
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8169), 0, 0, RTL_CFG_0 },
+       { PCI_DEVICE(PCI_VENDOR_ID_DLINK,       0x4300), 0, 0, RTL_CFG_0 },
+
+-- 
+Ueimor
+

Added: dists/trunk/linux-2.6/debian/patches/bugfix/net-sky2-lockup.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/net-sky2-lockup.patch   Sat Oct 
28 16:44:41 2006
@@ -0,0 +1,78 @@
+From [EMAIL PROTECTED] Mon Oct 23 10:15:13 2006
+From: Stephen Hemminger <[EMAIL PROTECTED]>
+Subject: [PATCH] sky2: 88E803X transmit lockup
+
+The reason sky2 driver was locking up on transmit on the Yukon-FE chipset
+is that it was misconfiguring the internal RAM buffer so the transmitter
+and receiver were sharing the same space. 
+
+The code assumed there was 16K of RAM on Yukon-FE (taken from vendor driver
+sk98lin which is even more f*cked up on this). Then it assigned based on that.
+The giveaway was that the registers would only hold 9bits so both RX/TX
+had 0..1ff for space. It is a wonder it worked at all!
+
+This patch addresses this, and fixes an easily reproducible hang on Transmit.
+Only the Yukon-FE chip is Marvell 88E803X (10/100 only) are affected.
+
+Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
+
+--- sky2.orig/drivers/net/sky2.c       2006-10-20 16:37:56.000000000 -0700
++++ sky2/drivers/net/sky2.c    2006-10-20 16:38:16.000000000 -0700
+@@ -699,16 +699,10 @@
+ 
+ }
+ 
+-/* Assign Ram Buffer allocation.
+- * start and end are in units of 4k bytes
+- * ram registers are in units of 64bit words
+- */
+-static void sky2_ramset(struct sky2_hw *hw, u16 q, u8 startk, u8 endk)
++/* Assign Ram Buffer allocation in units of 64bit (8 bytes) */
++static void sky2_ramset(struct sky2_hw *hw, u16 q, u32 start, u32 end)
+ {
+-      u32 start, end;
+-
+-      start = startk * 4096/8;
+-      end = (endk * 4096/8) - 1;
++      pr_debug(PFX "q %d %#x %#x\n", q, start, end);
+ 
+       sky2_write8(hw, RB_ADDR(q, RB_CTRL), RB_RST_CLR);
+       sky2_write32(hw, RB_ADDR(q, RB_START), start);
+@@ -717,7 +711,7 @@
+       sky2_write32(hw, RB_ADDR(q, RB_RP), start);
+ 
+       if (q == Q_R1 || q == Q_R2) {
+-              u32 space = (endk - startk) * 4096/8;
++              u32 space = end - start + 1;
+               u32 tp = space - space/4;
+ 
+               /* On receive queue's set the thresholds
+@@ -1199,19 +1193,16 @@
+ 
+       sky2_mac_init(hw, port);
+ 
+-      /* Determine available ram buffer space (in 4K blocks).
+-       * Note: not sure about the FE setting below yet
+-       */
+-      if (hw->chip_id == CHIP_ID_YUKON_FE)
+-              ramsize = 4;
+-      else
+-              ramsize = sky2_read8(hw, B2_E_0);
++      /* Determine available ram buffer space in qwords.  */
++      ramsize = sky2_read8(hw, B2_E_0) * 4096/8;
+ 
+-      /* Give transmitter one third (rounded up) */
+-      rxspace = ramsize - (ramsize + 2) / 3;
++      if (ramsize > 6*1024/8)
++              rxspace = ramsize - (ramsize + 2) / 3;
++      else
++              rxspace = ramsize / 2;
+ 
+-      sky2_ramset(hw, rxqaddr[port], 0, rxspace);
+-      sky2_ramset(hw, txqaddr[port], rxspace, ramsize);
++      sky2_ramset(hw, rxqaddr[port], 0, rxspace-1);
++      sky2_ramset(hw, txqaddr[port], rxspace, ramsize-1);
+ 
+       /* Make sure SyncQ is disabled */
+       sky2_write8(hw, RB_ADDR(port == 0 ? Q_XS1 : Q_XS2, RB_CTRL),
+

Added: dists/trunk/linux-2.6/debian/patches/features/net-forcedeth-swsusp.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/features/net-forcedeth-swsusp.patch    
Sat Oct 28 16:44:41 2006
@@ -0,0 +1,66 @@
+
+Francois Romieu:
+      forcedeth: restore network after swsup/resume or ACPI S3
+
+
+diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
+index 35467e0..c41a886 100644
+--- a/drivers/net/forcedeth.c
++++ b/drivers/net/forcedeth.c
+@@ -4603,6 +4603,47 @@ static void __devexit nv_remove(struct p
+       pci_set_drvdata(pci_dev, NULL);
+ }
+ 
++
++static int nv_suspend(struct pci_dev *pdev, pm_message_t state)
++{
++      struct net_device *dev = pci_get_drvdata(pdev);
++      struct fe_priv *np = netdev_priv(dev);
++      int rc = 0;
++
++      if (!netif_running(dev))
++              goto out;
++
++      netif_device_detach(dev);
++
++      /* Gross. */
++      rc = nv_close(dev);
++
++      pci_save_state(pdev);
++      pci_enable_wake(pdev, pci_choose_state(pdev, state), np->wolenabled);
++      pci_set_power_state(pdev, pci_choose_state(pdev, state));
++out:
++      return rc;
++}
++
++static int nv_resume(struct pci_dev *pdev)
++{
++      struct net_device *dev = pci_get_drvdata(pdev);
++      int rc = 0;
++
++      if (!netif_running(dev))
++              goto out;
++
++      netif_device_attach(dev);
++
++      pci_set_power_state(pdev, PCI_D0);
++      pci_restore_state(pdev);
++      pci_enable_wake(pdev, PCI_D0, 0);
++
++      rc = nv_open(dev);
++out:
++      return rc;
++}
++
+ static struct pci_device_id pci_tbl[] = {
+       {       /* nForce Ethernet Controller */
+               PCI_DEVICE(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NVENET_1),
+@@ -4704,6 +4745,8 @@ static struct pci_driver driver = {
+       .id_table = pci_tbl,
+       .probe = nv_probe,
+       .remove = __devexit_p(nv_remove),
++      .suspend = nv_suspend,
++      .resume = nv_resume,
+ };
+ 
+ 

Added: 
dists/trunk/linux-2.6/debian/patches/features/net-r8169-pci_id-corega.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/features/net-r8169-pci_id-corega.patch 
Sat Oct 28 16:44:41 2006
@@ -0,0 +1,18 @@
+ 
+Andrew Morton:
+      r8169: PCI ID for Corega Gigabit network card
+
+ 
+diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
+index 4c47c5b..c7309e9 100644
+--- a/drivers/net/r8169.c
++++ b/drivers/net/r8169.c
+@@ -214,6 +214,7 @@ static struct pci_device_id rtl8169_pci_
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8168), 0, 0, RTL_CFG_2 },
+       { PCI_DEVICE(PCI_VENDOR_ID_REALTEK,     0x8169), 0, 0, RTL_CFG_0 },
+       { PCI_DEVICE(PCI_VENDOR_ID_DLINK,       0x4300), 0, 0, RTL_CFG_0 },
++      { PCI_DEVICE(0x1259,                    0xc107), 0, 0, RTL_CFG_0 },
+       { PCI_DEVICE(0x16ec,                    0x0116), 0, 0, RTL_CFG_0 },
+       { PCI_VENDOR_ID_LINKSYS,                0x1032,
+               PCI_ANY_ID, 0x0024, 0, 0, RTL_CFG_0 },
+

Modified: dists/trunk/linux-2.6/debian/patches/series/4
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/4       (original)
+++ dists/trunk/linux-2.6/debian/patches/series/4       Sat Oct 28 16:44:41 2006
@@ -4,3 +4,9 @@
 + bugfix/arm/n2100-serial-irq.patch
 + bugfix/arm/n2100-eth1-irq.patch
 + bugfix/sparc/bus-id-size.patch
++ bugfix/net-netpoll.patch
++ bugfix/net-sky2-lockup.patch
++ features/net-forcedeth-swsusp.patch
++ bugfix/net-r8169-mmio8167.patch
++ features/net-r8169-pci_id-corega.patch
++ bugfix/net-r8169-hotplug_loop.patch

Modified: dists/trunk/linux-2.6/debian/templates/control.source.in
==============================================================================
--- dists/trunk/linux-2.6/debian/templates/control.source.in    (original)
+++ dists/trunk/linux-2.6/debian/templates/control.source.in    Sat Oct 28 
16:44:41 2006
@@ -4,5 +4,5 @@
 Maintainer: Debian Kernel Team <[email protected]>
 Uploaders: Andres Salomon <[EMAIL PROTECTED]>, Bastian Blank <[EMAIL 
PROTECTED]>, Simon Horman <[EMAIL PROTECTED]>, Sven Luther <[EMAIL PROTECTED]>, 
Jonas Smedegaard <[EMAIL PROTECTED]>, Norbert Tretkowski <[EMAIL PROTECTED]>, 
Frederik Schüler <[EMAIL PROTECTED]>
 Standards-Version: 3.6.1.0
-Build-Depends: debhelper (>= 4.1.0), module-init-tools, dpkg-dev (>= 1.10.23), 
debianutils (>= 1.6), bzip2, sparc-utils [sparc], kernel-package (>= 10.054), 
python, python2.4-minimal
+Build-Depends: debhelper (>= 4.1.0), module-init-tools, dpkg-dev (>= 1.10.23), 
debianutils (>= 1.6), bzip2, sparc-utils [sparc], kernel-package (>= 10.063), 
python, python2.4-minimal
 Build-Depends-Indep: docbook-utils, gs, transfig, xmlto

_______________________________________________
Kernel-svn-changes mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/kernel-svn-changes

Reply via email to