r2759 - in trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian: . patches patches/series

Andres Salomon dilinger-guest@costa.debian.org
Mon, 21 Mar 2005 09:58:34 +0100


Author: dilinger-guest
Date: 2005-03-21 09:58:32 +0100 (Mon, 21 Mar 2005)
New Revision: 2759

Added:
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.5
Removed:
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-char-drm_ioctl.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-ppp_async.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-r8169-status.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-sis900-fix-oops.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-via-rhine-fix-oops-shutdown.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-i2c-message-flags.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-saa7110-oops-fix.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers_input_serio_dell_keyboard.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-cramfs-stat-fix.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-eventpoll-overflow-fix.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-exec-fix-get_task_comm.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ipv6-modular-build.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/pci-hotplug.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/powerpc-altivec-raid6.dpatch
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ppc32-e500-oprofuile-build.dpatch
Modified:
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog
   trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1
Log:
Merge in 2.6.11.5, drop previously broken out 2.6.11.y patches.
Meh.


Modified: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/changelog	2005-03-21 08:58:32 UTC (rev 2759)
@@ -69,6 +69,20 @@
     of the tg3 driver, and the existence of kernel-nonfree-*
     (Andres Salomon).
 
+  * Drop all the broken-out 2.6.11.* patches (Andres Salomon).
+  
+  * Merge in 2.6.11.5; this includes:
+    o Possible AMD8111e free irq issue
+    o Possible VIA-Rhine free irq issue
+    o Fix stereo mutes on Surround volume control
+    o [IPSEC]: Fix __xfrm_find_acq_byseq()
+    o tasklist left locked
+    o Fix kernel panic on receive with WAN Hitachi SCA HD6457x
+    o Fix crash while reading /proc/net/route
+    o NetROM locking
+    o Fix check for underflow
+  (Andres Salomon).
+
  -- Simon Horman <horms@debian.org>  Fri, 18 Mar 2005 16:30:11 +0900
 
 kernel-source-2.6.10 (2.6.10-6) unstable; urgency=low

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-char-drm_ioctl.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-char-drm_ioctl.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-char-drm_ioctl.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,31 +0,0 @@
-diff -Naru a/drivers/char/drm/drm_ioctl.c b/drivers/char/drm/drm_ioctl.c
---- a/drivers/char/drm/drm_ioctl.c	2005-03-13 05:20:37 -08:00
-+++ b/drivers/char/drm/drm_ioctl.c	2005-03-13 05:20:37 -08:00
-@@ -326,6 +326,8 @@
- 
- 	DRM_COPY_FROM_USER_IOCTL(sv, argp, sizeof(sv));
- 
-+	memset(&version, 0, sizeof(version));
-+
- 	dev->driver->version(&version);
- 	retv.drm_di_major = DRM_IF_MAJOR;
- 	retv.drm_di_minor = DRM_IF_MINOR;
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:38:27-08:00 airlied@linux.ie 
-#   [PATCH] drm missing memset can crash X server..
-#   
-#   Egbert Eich reported a bug 2673 on bugs.freedesktop.org and tracked it
-#   down to a missing memset in the setversion ioctl, this causes X server
-#   crashes...
-#   
-#   From: Egbert Eich <eich@pdx.freedesktop.org>
-#   Signed-off-by: Dave Airlie <airlied@linux.ie>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/char/drm/drm_ioctl.c
-#   2005/03/08 15:53:43-08:00 airlied@linux.ie +2 -0
-#   drm missing memset can crash X server..
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-ppp_async.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-ppp_async.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-ppp_async.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,36 +0,0 @@
-diff -Naru a/drivers/net/ppp_async.c b/drivers/net/ppp_async.c
---- a/drivers/net/ppp_async.c	2005-03-16 07:02:25 -08:00
-+++ b/drivers/net/ppp_async.c	2005-03-16 07:02:25 -08:00
-@@ -1000,7 +1000,7 @@
- 	data += 4;
- 	dlen -= 4;
- 	/* data[0] is code, data[1] is length */
--	while (dlen >= 2 && dlen >= data[1]) {
-+	while (dlen >= 2 && dlen >= data[1] && data[1] >= 2) {
- 		switch (data[0]) {
- 		case LCP_MRU:
- 			val = (data[2] << 8) + data[3];
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/15 15:38:47-08:00 paulus@au1.ibm.com 
-#   [PATCH] CAN-2005-0384: Remote Linux DoS on ppp servers
-#   
-#   Martin Schulze writes:
-#   
-#   > Ben Martel and Stephen Blackheath have discovered a denial-of-service attack
-#   > that a client of pppd can make that can hang the server machine.  The bug is
-#   > in the Linux kernel 2.6 (tested on 2.6.9), but it looks like it also exists
-#   > in the 2.4 series.
-#   
-#   Yes, this is my bug. :(
-#   
-#   I would just do this instead:
-#   
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/net/ppp_async.c
-#   2005/02/24 15:38:05-08:00 paulus@au1.ibm.com +1 -1
-#   CAN-2005-0384: Remote Linux DoS on ppp servers
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-r8169-status.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-r8169-status.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-r8169-status.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,63 +0,0 @@
-diff -Naru a/drivers/net/r8169.c b/drivers/net/r8169.c
---- a/drivers/net/r8169.c	2005-03-13 05:08:22 -08:00
-+++ b/drivers/net/r8169.c	2005-03-13 05:08:22 -08:00
-@@ -1683,16 +1683,19 @@
- 	rtl8169_make_unusable_by_asic(desc);
- }
- 
--static inline void rtl8169_return_to_asic(struct RxDesc *desc, int rx_buf_sz)
-+static inline void rtl8169_mark_to_asic(struct RxDesc *desc, u32 rx_buf_sz)
- {
--	desc->opts1 |= cpu_to_le32(DescOwn + rx_buf_sz);
-+	u32 eor = le32_to_cpu(desc->opts1) & RingEnd;
-+
-+	desc->opts1 = cpu_to_le32(DescOwn | eor | rx_buf_sz);
- }
- 
--static inline void rtl8169_give_to_asic(struct RxDesc *desc, dma_addr_t mapping,
--					int rx_buf_sz)
-+static inline void rtl8169_map_to_asic(struct RxDesc *desc, dma_addr_t mapping,
-+				       u32 rx_buf_sz)
- {
- 	desc->addr = cpu_to_le64(mapping);
--	desc->opts1 |= cpu_to_le32(DescOwn + rx_buf_sz);
-+	wmb();
-+	rtl8169_mark_to_asic(desc, rx_buf_sz);
- }
- 
- static int rtl8169_alloc_rx_skb(struct pci_dev *pdev, struct sk_buff **sk_buff,
-@@ -1712,7 +1715,7 @@
- 	mapping = pci_map_single(pdev, skb->tail, rx_buf_sz,
- 				 PCI_DMA_FROMDEVICE);
- 
--	rtl8169_give_to_asic(desc, mapping, rx_buf_sz);
-+	rtl8169_map_to_asic(desc, mapping, rx_buf_sz);
- 
- out:
- 	return ret;
-@@ -2150,7 +2153,7 @@
- 			skb_reserve(skb, NET_IP_ALIGN);
- 			eth_copy_and_sum(skb, sk_buff[0]->tail, pkt_size, 0);
- 			*sk_buff = skb;
--			rtl8169_return_to_asic(desc, rx_buf_sz);
-+			rtl8169_mark_to_asic(desc, rx_buf_sz);
- 			ret = 0;
- 		}
- 	}
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:46:01-08:00 shemminger@osdl.org 
-#   [PATCH] r8169: receive descriptor length fix
-#   
-#   The status and received packets indication in the Rx descriptor ring
-#   are not correctly reset when a descriptor is recycled.
-#   
-#   Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/net/r8169.c
-#   2005/03/08 15:38:34-08:00 shemminger@osdl.org +10 -7
-#   r8169: receive descriptor length fix
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-sis900-fix-oops.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-sis900-fix-oops.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-sis900-fix-oops.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,153 +0,0 @@
-diff -Naru a/drivers/net/sis900.c b/drivers/net/sis900.c
---- a/drivers/net/sis900.c	2005-03-13 05:05:21 -08:00
-+++ b/drivers/net/sis900.c	2005-03-13 05:05:21 -08:00
-@@ -236,7 +236,7 @@
- 	signature = (u16) read_eeprom(ioaddr, EEPROMSignature);    
- 	if (signature == 0xffff || signature == 0x0000) {
- 		printk (KERN_INFO "%s: Error EERPOM read %x\n", 
--			net_dev->name, signature);
-+			pci_name(pci_dev), signature);
- 		return 0;
- 	}
- 
-@@ -268,7 +268,7 @@
- 	if (!isa_bridge)
- 		isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0018, isa_bridge);
- 	if (!isa_bridge) {
--		printk("%s: Can not find ISA bridge\n", net_dev->name);
-+		printk("%s: Can not find ISA bridge\n", pci_name(pci_dev));
- 		return 0;
- 	}
- 	pci_read_config_byte(isa_bridge, 0x48, &reg);
-@@ -456,10 +456,6 @@
- 	net_dev->tx_timeout = sis900_tx_timeout;
- 	net_dev->watchdog_timeo = TX_TIMEOUT;
- 	net_dev->ethtool_ops = &sis900_ethtool_ops;
--	
--	ret = register_netdev(net_dev);
--	if (ret)
--		goto err_unmap_rx;
- 		
- 	/* Get Mac address according to the chip revision */
- 	pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &revision);
-@@ -476,7 +472,7 @@
- 
- 	if (ret == 0) {
- 		ret = -ENODEV;
--		goto err_out_unregister;
-+		goto err_unmap_rx;
- 	}
- 	
- 	/* 630ET : set the mii access mode as software-mode */
-@@ -486,7 +482,7 @@
- 	/* probe for mii transceiver */
- 	if (sis900_mii_probe(net_dev) == 0) {
- 		ret = -ENODEV;
--		goto err_out_unregister;
-+		goto err_unmap_rx;
- 	}
- 
- 	/* save our host bridge revision */
-@@ -496,6 +492,10 @@
- 		pci_dev_put(dev);
- 	}
- 
-+	ret = register_netdev(net_dev);
-+	if (ret)
-+		goto err_unmap_rx;
-+
- 	/* print some information about our NIC */
- 	printk(KERN_INFO "%s: %s at %#lx, IRQ %d, ", net_dev->name,
- 	       card_name, ioaddr, net_dev->irq);
-@@ -505,8 +505,6 @@
- 
- 	return 0;
- 
-- err_out_unregister:
-- 	unregister_netdev(net_dev);
-  err_unmap_rx:
- 	pci_free_consistent(pci_dev, RX_TOTAL_SIZE, sis_priv->rx_ring,
- 		sis_priv->rx_ring_dma);
-@@ -533,6 +531,7 @@
- static int __init sis900_mii_probe(struct net_device * net_dev)
- {
- 	struct sis900_private * sis_priv = net_dev->priv;
-+	const char *dev_name = pci_name(sis_priv->pci_dev);
- 	u16 poll_bit = MII_STAT_LINK, status = 0;
- 	unsigned long timeout = jiffies + 5 * HZ;
- 	int phy_addr;
-@@ -582,21 +581,20 @@
- 					mii_phy->phy_types =
- 					    (mii_status & (MII_STAT_CAN_TX_FDX | MII_STAT_CAN_TX)) ? LAN : HOME;
- 				printk(KERN_INFO "%s: %s transceiver found at address %d.\n",
--				       net_dev->name, mii_chip_table[i].name,
-+				       dev_name, mii_chip_table[i].name,
- 				       phy_addr);
- 				break;
- 			}
- 			
- 		if( !mii_chip_table[i].phy_id1 ) {
- 			printk(KERN_INFO "%s: Unknown PHY transceiver found at address %d.\n",
--			       net_dev->name, phy_addr);
-+			       dev_name, phy_addr);
- 			mii_phy->phy_types = UNKNOWN;
- 		}
- 	}
- 	
- 	if (sis_priv->mii == NULL) {
--		printk(KERN_INFO "%s: No MII transceivers found!\n",
--			net_dev->name);
-+		printk(KERN_INFO "%s: No MII transceivers found!\n", dev_name);
- 		return 0;
- 	}
- 
-@@ -621,7 +619,7 @@
- 			poll_bit ^= (mdio_read(net_dev, sis_priv->cur_phy, MII_STATUS) & poll_bit);
- 			if (time_after_eq(jiffies, timeout)) {
- 				printk(KERN_WARNING "%s: reset phy and link down now\n",
--					net_dev->name);
-+				       dev_name);
- 				return -ETIME;
- 			}
- 		}
-@@ -691,7 +689,7 @@
- 		sis_priv->mii = default_phy;
- 		sis_priv->cur_phy = default_phy->phy_addr;
- 		printk(KERN_INFO "%s: Using transceiver found at address %d as default\n",
--					net_dev->name,sis_priv->cur_phy);
-+		       pci_name(sis_priv->pci_dev), sis_priv->cur_phy);
- 	}
- 	
- 	status = mdio_read(net_dev, sis_priv->cur_phy, MII_CONTROL);
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:46:45-08:00 chrisw@osdl.org 
-#   [PATCH] sis900 kernel oops fix
-#   
-#   Backport of fix described below.
-#   
-#     From: Herbert Xu <herbert@gondor.apana.org.au>
-#   
-#     Fix bug #4223.
-#   
-#     OK, this happened because we got preempted before sis900_mii_probe
-#     finished setting the sis_priv->mii.  Theoretically this can happen
-#     with SMP as well but I suppose the number of SMP machines with sis900
-#     is fairly small.
-#   
-#     Anyway, the fix is to make sure that sis900_mii_probe is done before
-#     the device can be opened.  This patch does it by moving the setup
-#     before register_netdevice.
-#   
-#     Since the netdev name is not available before register_netdev, I've
-#     changed the relevant printk's to use pci_name instead.  Note that
-#     one of those printk's may be called after register_netdev as well.
-#   
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/net/sis900.c
-#   2005/03/10 12:23:49-08:00 chrisw@osdl.org +14 -16
-#   sis900 kernel oops fix
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-via-rhine-fix-oops-shutdown.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-via-rhine-fix-oops-shutdown.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-net-via-rhine-fix-oops-shutdown.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,92 +0,0 @@
-diff -Naru a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
---- a/drivers/net/via-rhine.c	2005-03-13 04:58:21 -08:00
-+++ b/drivers/net/via-rhine.c	2005-03-13 04:58:21 -08:00
-@@ -1899,6 +1899,9 @@
- 	struct rhine_private *rp = netdev_priv(dev);
- 	void __iomem *ioaddr = rp->base;
- 
-+	if (!(rp->quirks & rqWOL))
-+		return; /* Nothing to do for non-WOL adapters */
-+
- 	rhine_power_init(dev);
- 
- 	/* Make sure we use pattern 0, 1 and not 4, 5 */
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:47:59-08:00 olof@austin.ibm.com 
-#   [PATCH] [VIA RHINE] older chips oops on shutdown
-#   
-#   Kernel 2.6.11, hardware is a MSI KT333-based board with an XP1800.
-#   
-#   I'm oopsing on shutdown on a machine that has a Via Rhine adapter in it:
-#   
-#   Unable to handle kernel paging request at virtual address e0803003
-#     printing eip:
-#   c01f262c
-#   *pde = 014dc067
-#   *pte = 00000000
-#   Oops: 0000 [#1]
-#   Modules linked in: cpufreq_userspace cpufreq_powersave cpufreq_ondemand
-#   CPU:    0
-#   EIP:    0060:[<c01f262c>]    Not tainted VLI
-#   EFLAGS: 00010292   (2.6.11)
-#   EIP is at ioread8+0x2c/0x40
-#   eax: e0803003   ebx: e0803003   ecx: c026b430   edx: e0803003
-#   esi: dff90260   edi: e0802f80   ebp: dd117e74   esp: dd117e74
-#   ds: 007b   es: 007b   ss: 0068
-#   Process reboot (pid: 5769, threadinfo=dd117000 task=dfafa080)
-#   Stack: dd117e8c c026b490 dff90040 c151ccd4 c044a1a8 b7fdc078 dd117ea4
-#   c0253ad9
-#           c151ccd4 00000042 fee1dead 00000001 dd117fbc c012461c c04d72a8 00000001
-#           00000000 00010800 00000000 dd117ed8 c013b40b dffe7380 00030800 00000000
-#   Call Trace:
-#     [<c0103d5f>] show_stack+0x7f/0xa0
-#     [<c0103efa>] show_registers+0x15a/0x1c0
-#     [<c01040ce>] die+0xce/0x150
-#     [<c0113406>] do_page_fault+0x356/0x692
-#     [<c01039ff>] error_code+0x2b/0x30
-#     [<c026b490>] rhine_shutdown+0x60/0x140
-#     [<c0253ad9>] device_shutdown+0x89/0x8b
-#     [<c012461c>] sys_reboot+0xac/0x200
-#     [<c0102f71>] sysenter_past_esp+0x52/0x75
-#   Code: 3d ff ff 03 00 89 c2 89 e5 77 20 66 31 c0 3d 00 00 01 00 75 0c
-#   81 e2 ff ff 00 00 ec 0f b6 c0 c9 c3 0f 0b 37 00 7b 65 3b c0 eb ea <0f>
-#   b6 00 eb ec eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 90 55
-#   
-#   Seems like it is the ioread8 in:
-#   
-#            /* Hit power state D3 (sleep) */
-#            iowrite8(ioread8(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW);
-#   
-#   that fails. StickyHW is 0x83. lspci says:
-#   
-#   0000:00:07.0 Ethernet controller: VIA Technologies, Inc. VT86C100A
-#   [Rhine] (rev 06)
-#            Flags: bus master, medium devsel, latency 32, IRQ 18
-#            I/O ports at ec00 [size=128]
-#            Memory at dfffff80 (32-bit, non-prefetchable) [size=128]
-#   
-#   In other words, it's trying to read outside of the I/O range (0x80),
-#   which matches the fauling address.
-#   
-#   I'm guessing my chip revision doesn't support WOL, it's a crappy noname
-#   card.
-#   
-#   It does seem as if rhine_power_init checks quirks for rqWOL before
-#   touching any registers. Should rhine_shutdown do the same? Proposed
-#   patch below, which resolves the problem on my system.
-#   
-#   
-#   Check to make sure WOL is supported before setting it up in
-#   rhine_shutdown.
-#   
-#   
-#   Signed-off-by: Olof Johansson <olof@austin.ibm.com>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/net/via-rhine.c
-#   2005/03/05 04:25:34-08:00 olof@austin.ibm.com +3 -0
-#   [VIA RHINE] older chips oops on shutdown
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-i2c-message-flags.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-i2c-message-flags.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-i2c-message-flags.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,102 +0,0 @@
-diff -Naru a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
---- a/drivers/media/video/adv7170.c	2005-03-13 05:17:14 -08:00
-+++ b/drivers/media/video/adv7170.c	2005-03-13 05:17:14 -08:00
-@@ -130,7 +130,7 @@
- 		u8 block_data[32];
- 
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
-+		msg.flags = 0;
- 		while (len >= 2) {
- 			msg.buf = (char *) block_data;
- 			msg.len = 0;
-diff -Naru a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
---- a/drivers/media/video/adv7175.c	2005-03-13 05:17:14 -08:00
-+++ b/drivers/media/video/adv7175.c	2005-03-13 05:17:14 -08:00
-@@ -126,7 +126,7 @@
- 		u8 block_data[32];
- 
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
-+		msg.flags = 0;
- 		while (len >= 2) {
- 			msg.buf = (char *) block_data;
- 			msg.len = 0;
-diff -Naru a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
---- a/drivers/media/video/bt819.c	2005-03-13 05:17:14 -08:00
-+++ b/drivers/media/video/bt819.c	2005-03-13 05:17:14 -08:00
-@@ -146,7 +146,7 @@
- 		u8 block_data[32];
- 
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
-+		msg.flags = 0;
- 		while (len >= 2) {
- 			msg.buf = (char *) block_data;
- 			msg.len = 0;
-diff -Naru a/drivers/media/video/saa7114.c b/drivers/media/video/saa7114.c
---- a/drivers/media/video/saa7114.c	2005-03-13 05:17:14 -08:00
-+++ b/drivers/media/video/saa7114.c	2005-03-13 05:17:14 -08:00
-@@ -163,7 +163,7 @@
- 		u8 block_data[32];
- 
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
-+		msg.flags = 0;
- 		while (len >= 2) {
- 			msg.buf = (char *) block_data;
- 			msg.len = 0;
-diff -Naru a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
---- a/drivers/media/video/saa7185.c	2005-03-13 05:17:14 -08:00
-+++ b/drivers/media/video/saa7185.c	2005-03-13 05:17:14 -08:00
-@@ -118,7 +118,7 @@
- 		u8 block_data[32];
- 
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
-+		msg.flags = 0;
- 		while (len >= 2) {
- 			msg.buf = (char *) block_data;
- 			msg.len = 0;
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:40:46-08:00 khali@linux-fr.org 
-#   [PATCH] Fix i2c messsage flags in video drivers
-#   
-#   While working on the saa7110 driver I found a problem with the way
-#   various video drivers (found on Zoran-based boards) prepare i2c messages
-#   to be used by i2c_transfer. The drivers improperly copy the i2c client
-#   flags as the message flags, while both sets are mostly unrelated. The
-#   net effect in this case is to trigger an I2C block read instead of the
-#   expected I2C block write. The fix is simply not to pass any flag,
-#   because none are needed.
-#   
-#   I think this patch qualifies hands down as a "critical bug fix" to be
-#   included in whatever bug-fix-only trees exist these days. As far as I
-#   can see, all Zoran-based boards are broken in 2.6.11 without this patch.
-#   
-#   Signed-off-by: Jean Delvare <khali@linux-fr.org>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/media/video/adv7170.c
-#   2005/03/08 04:19:04-08:00 khali@linux-fr.org +1 -1
-#   Fix i2c messsage flags in video drivers
-# 
-# drivers/media/video/adv7175.c
-#   2005/03/08 04:18:57-08:00 khali@linux-fr.org +1 -1
-#   Fix i2c messsage flags in video drivers
-# 
-# drivers/media/video/bt819.c
-#   2005/03/08 04:18:51-08:00 khali@linux-fr.org +1 -1
-#   Fix i2c messsage flags in video drivers
-# 
-# drivers/media/video/saa7114.c
-#   2005/03/08 04:18:20-08:00 khali@linux-fr.org +1 -1
-#   Fix i2c messsage flags in video drivers
-# 
-# drivers/media/video/saa7185.c
-#   2005/03/08 04:18:12-08:00 khali@linux-fr.org +1 -1
-#   Fix i2c messsage flags in video drivers
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-saa7110-oops-fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-saa7110-oops-fix.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers-video-saa7110-oops-fix.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,87 +0,0 @@
-diff -Naru a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
---- a/drivers/media/video/saa7110.c	2005-03-13 05:24:01 -08:00
-+++ b/drivers/media/video/saa7110.c	2005-03-13 05:24:01 -08:00
-@@ -60,8 +60,10 @@
- 
- #define	I2C_SAA7110		0x9C	/* or 0x9E */
- 
-+#define SAA7110_NR_REG		0x35
-+
- struct saa7110 {
--	unsigned char reg[54];
-+	u8 reg[SAA7110_NR_REG];
- 
- 	int norm;
- 	int input;
-@@ -95,31 +97,28 @@
- 		     unsigned int       len)
- {
- 	int ret = -1;
--	u8 reg = *data++;
-+	u8 reg = *data;		/* first register to write to */
- 
--	len--;
-+	/* Sanity check */
-+	if (reg + (len - 1) > SAA7110_NR_REG)
-+		return ret;
- 
- 	/* the saa7110 has an autoincrement function, use it if
- 	 * the adapter understands raw I2C */
- 	if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
- 		struct saa7110 *decoder = i2c_get_clientdata(client);
- 		struct i2c_msg msg;
--		u8 block_data[54];
- 
--		msg.len = 0;
--		msg.buf = (char *) block_data;
-+		msg.len = len;
-+		msg.buf = (char *) data;
- 		msg.addr = client->addr;
--		msg.flags = client->flags;
--		while (len >= 1) {
--			msg.len = 0;
--			block_data[msg.len++] = reg;
--			while (len-- >= 1 && msg.len < 54)
--				block_data[msg.len++] =
--				    decoder->reg[reg++] = *data++;
--			ret = i2c_transfer(client->adapter, &msg, 1);
--		}
-+		msg.flags = 0;
-+		ret = i2c_transfer(client->adapter, &msg, 1);
-+
-+		/* Cache the written data */
-+		memcpy(decoder->reg + reg, data + 1, len - 1);
- 	} else {
--		while (len-- >= 1) {
-+		for (++data, --len; len; len--) {
- 			if ((ret = saa7110_write(client, reg++,
- 						 *data++)) < 0)
- 				break;
-@@ -192,7 +191,7 @@
- 	return 0;
- }
- 
--static const unsigned char initseq[] = {
-+static const unsigned char initseq[1 + SAA7110_NR_REG] = {
- 	0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
- 	/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
- 	/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:33:36-08:00 khali@linux-fr.org 
-#   [PATCH] fix amd64 2.6.11 oops on modprobe (saa7110)
-#   
-#   This is a rewrite of the saa7110_write_block function, which was plain
-#   broken in the case where the underlying adapter supports I2C_FUNC_I2C.
-#   It also includes related fixes which ensure that different parts of the
-#   driver agree on the number of registers the chip has.
-#   
-#   Signed-off-by: Jean Delvare <khali@linux-fr.org>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/media/video/saa7110.c
-#   2005/03/11 01:06:09-08:00 khali@linux-fr.org +16 -17
-#   fix amd64 2.6.11 oops on modprobe (saa7110)
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers_input_serio_dell_keyboard.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers_input_serio_dell_keyboard.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/drivers_input_serio_dell_keyboard.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,50 +0,0 @@
-diff -Naru a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
---- a/drivers/input/serio/i8042-x86ia64io.h	2005-03-08 13:09:40 -08:00
-+++ b/drivers/input/serio/i8042-x86ia64io.h	2005-03-08 13:09:40 -08:00
-@@ -88,7 +88,7 @@
- };
- #endif
- 
--#ifdef CONFIG_ACPI
-+#if defined(__ia64__) && defined(CONFIG_ACPI)
- #include <linux/acpi.h>
- #include <acpi/acpi_bus.h>
- 
-@@ -281,7 +281,7 @@
- 	i8042_kbd_irq = I8042_MAP_IRQ(1);
- 	i8042_aux_irq = I8042_MAP_IRQ(12);
- 
--#ifdef CONFIG_ACPI
-+#if defined(__ia64__) && defined(CONFIG_ACPI)
- 	if (i8042_acpi_init())
- 		return -1;
- #endif
-@@ -300,7 +300,7 @@
- 
- static inline void i8042_platform_exit(void)
- {
--#ifdef CONFIG_ACPI
-+#if defined(__ia64__) && defined(CONFIG_ACPI)
- 	i8042_acpi_exit();
- #endif
- }
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/04 08:12:02-08:00 dtor_core@ameritech.net 
-#   [PATCH] Fix keyboards for Dell machines
-#   
-#   Some ACPI-related changes were recently made to i8042 discovery for ia64.
-#   Unfortunately this broke a significant number of Dell laptops due to their
-#   having incorrect BIOS tables.
-#   
-#   So, for now, arrange for the new code to be ia64-only.
-#   
-#   From: Dmitry Torokhov <dtor_core@ameritech.net>
-#   Signed-off-by: Andrew Morton <akpm@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/input/serio/i8042-x86ia64io.h
-#   2005/03/03 13:34:49-08:00 dtor_core@ameritech.net +3 -3
-#   Fix keyboards for Dell machines
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-cramfs-stat-fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-cramfs-stat-fix.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-cramfs-stat-fix.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,31 +0,0 @@
-diff -Naru a/fs/cramfs/inode.c b/fs/cramfs/inode.c
---- a/fs/cramfs/inode.c	2005-03-13 05:22:27 -08:00
-+++ b/fs/cramfs/inode.c	2005-03-13 05:22:27 -08:00
-@@ -70,6 +70,7 @@
- 			inode->i_data.a_ops = &cramfs_aops;
- 		} else {
- 			inode->i_size = 0;
-+			inode->i_blocks = 0;
- 			init_special_inode(inode, inode->i_mode,
- 				old_decode_dev(cramfs_inode->size));
- 		}
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:35:18-08:00 akpm@osdl.org 
-#   [PATCH] cramfs: small stat(2) fix
-#   
-#   From: Eric Lammerts <eric@lammerts.org>
-#   
-#   When I stat(2) a device node on a cramfs, the st_blocks field is bogus
-#   (it's derived from the size field which in this case holds the major/minor
-#   numbers).  This makes du(1) output completely wrong.
-#   
-#   Signed-off-by: Eric Lammerts <eric@lammerts.org>
-#   Signed-off-by: Andrew Morton <akpm@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# fs/cramfs/inode.c
-#   2005/03/04 13:15:57-08:00 akpm@osdl.org +1 -0
-#   cramfs: small stat(2) fix
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-eventpoll-overflow-fix.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-eventpoll-overflow-fix.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-eventpoll-overflow-fix.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,21 +0,0 @@
-
-diff -Nru a/fs/eventpoll.c b/fs/eventpoll.c
---- a/fs/eventpoll.c	2005-03-09 00:13:29 -08:00
-+++ b/fs/eventpoll.c	2005-03-09 00:13:29 -08:00
-@@ -619,6 +619,7 @@
- 	return error;
- }
- 
-+#define MAX_EVENTS (INT_MAX / sizeof(struct epoll_event))
- 
- /*
-  * Implement the event wait interface for the eventpoll file. It is the kernel
-@@ -635,7 +636,7 @@
- 		     current, epfd, events, maxevents, timeout));
- 
- 	/* The maximum number of event must be greater than zero */
--	if (maxevents <= 0)
-+	if (maxevents <= 0 || maxevents > MAX_EVENTS)
- 		return -EINVAL;
- 
- 	/* Verify that the area passed by the user is writeable */

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-exec-fix-get_task_comm.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-exec-fix-get_task_comm.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/fs-exec-fix-get_task_comm.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,31 +0,0 @@
-diff -Naru a/fs/exec.c b/fs/exec.c
---- a/fs/exec.c	2005-03-16 06:59:05 -08:00
-+++ b/fs/exec.c	2005-03-16 06:59:05 -08:00
-@@ -814,7 +814,7 @@
- {
- 	/* buf must be at least sizeof(tsk->comm) in size */
- 	task_lock(tsk);
--	memcpy(buf, tsk->comm, sizeof(tsk->comm));
-+	strncpy(buf, tsk->comm, sizeof(tsk->comm));
- 	task_unlock(tsk);
- }
- 
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/15 15:39:08-08:00 akpm@osdl.org 
-#   [PATCH] use strncpy in get_task_comm
-#   
-#   From: Prasanna Meda <pmeda@akamai.com>
-#   
-#   Set_task_comm uses strlcpy, so get_task_comm must use strncpy.
-#   
-#   Signed-Off-by: Prasanna Meda <pmeda@akamai.com>
-#   Signed-off-by: Andrew Morton <akpm@osdl.org>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# fs/exec.c
-#   2005/03/15 06:30:28-08:00 akpm@osdl.org +1 -1
-#   use strncpy in get_task_comm
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ipv6-modular-build.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ipv6-modular-build.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ipv6-modular-build.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,37 +0,0 @@
-diff -Naru a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
---- a/net/ipv4/tcp_timer.c	2005-03-13 05:16:01 -08:00
-+++ b/net/ipv4/tcp_timer.c	2005-03-13 05:16:01 -08:00
-@@ -38,6 +38,7 @@
- 
- #ifdef TCP_DEBUG
- const char tcp_timer_bug_msg[] = KERN_DEBUG "tcpbug: unknown timer value\n";
-+EXPORT_SYMBOL(tcp_timer_bug_msg);
- #endif
- 
- /*
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:41:54-08:00 davem@davemloft.net 
-#   [PATCH] [TCP]: Put back tcp_timer_bug_msg[] symbol export.
-#   
-#   This wrecks the ipv6 modular build for a lot of people.
-#   In fact, since I always build ipv6 modular I am surprised
-#   I never hit this.  My best guess is that my compiler is
-#   optimizing the reference away, but that can never be
-#   depended upon and the symbol export really is needed.
-#   
-#   [TCP]: Put back tcp_timer_bug_msg[] symbol export.
-#   
-#   It is needed for tcp_reset_xmit_timer(), which is invoked by
-#   tcp_prequeue() which is invoked from tcp_ipv6.c
-#   
-#   Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
-#   Signed-off-by: David S. Miller <davem@davemloft.net>
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# net/ipv4/tcp_timer.c
-#   2005/03/09 17:20:38-08:00 davem@davemloft.net +1 -0
-#   [TCP]: Put back tcp_timer_bug_msg[] symbol export.
-# 

Added: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.5
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.5	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/patch-2.6.11.5	2005-03-21 08:58:32 UTC (rev 2759)
@@ -0,0 +1,722 @@
+diff -Nru a/arch/ppc/oprofile/op_model_fsl_booke.c b/arch/ppc/oprofile/op_model_fsl_booke.c
+--- a/arch/ppc/oprofile/op_model_fsl_booke.c	2005-03-18 22:35:10 -08:00
++++ b/arch/ppc/oprofile/op_model_fsl_booke.c	2005-03-18 22:35:10 -08:00
+@@ -150,7 +150,6 @@
+ 	int is_kernel;
+ 	int val;
+ 	int i;
+-	unsigned int cpu = smp_processor_id();
+ 
+ 	/* set the PMM bit (see comment below) */
+ 	mtmsr(mfmsr() | MSR_PMM);
+@@ -162,7 +161,7 @@
+ 		val = ctr_read(i);
+ 		if (val < 0) {
+ 			if (oprofile_running && ctr[i].enabled) {
+-				oprofile_add_sample(pc, is_kernel, i, cpu);
++				oprofile_add_pc(pc, is_kernel, i);
+ 				ctr_write(i, reset_value[i]);
+ 			} else {
+ 				ctr_write(i, 0);
+diff -Nru a/arch/ppc/platforms/4xx/ebony.h b/arch/ppc/platforms/4xx/ebony.h
+--- a/arch/ppc/platforms/4xx/ebony.h	2005-03-18 22:35:10 -08:00
++++ b/arch/ppc/platforms/4xx/ebony.h	2005-03-18 22:35:10 -08:00
+@@ -61,8 +61,8 @@
+  */
+ 
+ /* OpenBIOS defined UART mappings, used before early_serial_setup */
+-#define UART0_IO_BASE	(u8 *) 0xE0000200
+-#define UART1_IO_BASE	(u8 *) 0xE0000300
++#define UART0_IO_BASE	0xE0000200
++#define UART1_IO_BASE	0xE0000300
+ 
+ /* external Epson SG-615P */
+ #define BASE_BAUD	691200
+diff -Nru a/arch/ppc/platforms/4xx/luan.h b/arch/ppc/platforms/4xx/luan.h
+--- a/arch/ppc/platforms/4xx/luan.h	2005-03-18 22:35:10 -08:00
++++ b/arch/ppc/platforms/4xx/luan.h	2005-03-18 22:35:10 -08:00
+@@ -47,9 +47,9 @@
+ #define RS_TABLE_SIZE	3
+ 
+ /* PIBS defined UART mappings, used before early_serial_setup */
+-#define UART0_IO_BASE	(u8 *) 0xa0000200
+-#define UART1_IO_BASE	(u8 *) 0xa0000300
+-#define UART2_IO_BASE	(u8 *) 0xa0000600
++#define UART0_IO_BASE	0xa0000200
++#define UART1_IO_BASE	0xa0000300
++#define UART2_IO_BASE	0xa0000600
+ 
+ #define BASE_BAUD	11059200
+ #define STD_UART_OP(num)					\
+diff -Nru a/arch/ppc/platforms/4xx/ocotea.h b/arch/ppc/platforms/4xx/ocotea.h
+--- a/arch/ppc/platforms/4xx/ocotea.h	2005-03-18 22:35:10 -08:00
++++ b/arch/ppc/platforms/4xx/ocotea.h	2005-03-18 22:35:10 -08:00
+@@ -56,8 +56,8 @@
+ #define RS_TABLE_SIZE	2
+ 
+ /* OpenBIOS defined UART mappings, used before early_serial_setup */
+-#define UART0_IO_BASE	(u8 *) 0xE0000200
+-#define UART1_IO_BASE	(u8 *) 0xE0000300
++#define UART0_IO_BASE	0xE0000200
++#define UART1_IO_BASE	0xE0000300
+ 
+ #define BASE_BAUD	11059200/16
+ #define STD_UART_OP(num)					\
+diff -Nru a/drivers/char/drm/drm_ioctl.c b/drivers/char/drm/drm_ioctl.c
+--- a/drivers/char/drm/drm_ioctl.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/char/drm/drm_ioctl.c	2005-03-18 22:35:10 -08:00
+@@ -326,6 +326,8 @@
+ 
+ 	DRM_COPY_FROM_USER_IOCTL(sv, argp, sizeof(sv));
+ 
++	memset(&version, 0, sizeof(version));
++
+ 	dev->driver->version(&version);
+ 	retv.drm_di_major = DRM_IF_MAJOR;
+ 	retv.drm_di_minor = DRM_IF_MINOR;
+diff -Nru a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
+--- a/drivers/input/serio/i8042-x86ia64io.h	2005-03-18 22:35:10 -08:00
++++ b/drivers/input/serio/i8042-x86ia64io.h	2005-03-18 22:35:10 -08:00
+@@ -88,7 +88,7 @@
+ };
+ #endif
+ 
+-#ifdef CONFIG_ACPI
++#if defined(__ia64__) && defined(CONFIG_ACPI)
+ #include <linux/acpi.h>
+ #include <acpi/acpi_bus.h>
+ 
+@@ -281,7 +281,7 @@
+ 	i8042_kbd_irq = I8042_MAP_IRQ(1);
+ 	i8042_aux_irq = I8042_MAP_IRQ(12);
+ 
+-#ifdef CONFIG_ACPI
++#if defined(__ia64__) && defined(CONFIG_ACPI)
+ 	if (i8042_acpi_init())
+ 		return -1;
+ #endif
+@@ -300,7 +300,7 @@
+ 
+ static inline void i8042_platform_exit(void)
+ {
+-#ifdef CONFIG_ACPI
++#if defined(__ia64__) && defined(CONFIG_ACPI)
+ 	i8042_acpi_exit();
+ #endif
+ }
+diff -Nru a/drivers/md/raid6altivec.uc b/drivers/md/raid6altivec.uc
+--- a/drivers/md/raid6altivec.uc	2005-03-18 22:35:10 -08:00
++++ b/drivers/md/raid6altivec.uc	2005-03-18 22:35:10 -08:00
+@@ -108,7 +108,11 @@
+ int raid6_have_altivec(void)
+ {
+ 	/* This assumes either all CPUs have Altivec or none does */
++#ifdef CONFIG_PPC64
+ 	return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC;
++#else
++	return cur_cpu_spec[0]->cpu_features & CPU_FTR_ALTIVEC;
++#endif
+ }
+ #endif
+ 
+diff -Nru a/drivers/media/video/adv7170.c b/drivers/media/video/adv7170.c
+--- a/drivers/media/video/adv7170.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/adv7170.c	2005-03-18 22:35:10 -08:00
+@@ -130,7 +130,7 @@
+ 		u8 block_data[32];
+ 
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
++		msg.flags = 0;
+ 		while (len >= 2) {
+ 			msg.buf = (char *) block_data;
+ 			msg.len = 0;
+diff -Nru a/drivers/media/video/adv7175.c b/drivers/media/video/adv7175.c
+--- a/drivers/media/video/adv7175.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/adv7175.c	2005-03-18 22:35:10 -08:00
+@@ -126,7 +126,7 @@
+ 		u8 block_data[32];
+ 
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
++		msg.flags = 0;
+ 		while (len >= 2) {
+ 			msg.buf = (char *) block_data;
+ 			msg.len = 0;
+diff -Nru a/drivers/media/video/bt819.c b/drivers/media/video/bt819.c
+--- a/drivers/media/video/bt819.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/bt819.c	2005-03-18 22:35:10 -08:00
+@@ -146,7 +146,7 @@
+ 		u8 block_data[32];
+ 
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
++		msg.flags = 0;
+ 		while (len >= 2) {
+ 			msg.buf = (char *) block_data;
+ 			msg.len = 0;
+diff -Nru a/drivers/media/video/saa7110.c b/drivers/media/video/saa7110.c
+--- a/drivers/media/video/saa7110.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/saa7110.c	2005-03-18 22:35:10 -08:00
+@@ -60,8 +60,10 @@
+ 
+ #define	I2C_SAA7110		0x9C	/* or 0x9E */
+ 
++#define SAA7110_NR_REG		0x35
++
+ struct saa7110 {
+-	unsigned char reg[54];
++	u8 reg[SAA7110_NR_REG];
+ 
+ 	int norm;
+ 	int input;
+@@ -95,31 +97,28 @@
+ 		     unsigned int       len)
+ {
+ 	int ret = -1;
+-	u8 reg = *data++;
++	u8 reg = *data;		/* first register to write to */
+ 
+-	len--;
++	/* Sanity check */
++	if (reg + (len - 1) > SAA7110_NR_REG)
++		return ret;
+ 
+ 	/* the saa7110 has an autoincrement function, use it if
+ 	 * the adapter understands raw I2C */
+ 	if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+ 		struct saa7110 *decoder = i2c_get_clientdata(client);
+ 		struct i2c_msg msg;
+-		u8 block_data[54];
+ 
+-		msg.len = 0;
+-		msg.buf = (char *) block_data;
++		msg.len = len;
++		msg.buf = (char *) data;
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
+-		while (len >= 1) {
+-			msg.len = 0;
+-			block_data[msg.len++] = reg;
+-			while (len-- >= 1 && msg.len < 54)
+-				block_data[msg.len++] =
+-				    decoder->reg[reg++] = *data++;
+-			ret = i2c_transfer(client->adapter, &msg, 1);
+-		}
++		msg.flags = 0;
++		ret = i2c_transfer(client->adapter, &msg, 1);
++
++		/* Cache the written data */
++		memcpy(decoder->reg + reg, data + 1, len - 1);
+ 	} else {
+-		while (len-- >= 1) {
++		for (++data, --len; len; len--) {
+ 			if ((ret = saa7110_write(client, reg++,
+ 						 *data++)) < 0)
+ 				break;
+@@ -192,7 +191,7 @@
+ 	return 0;
+ }
+ 
+-static const unsigned char initseq[] = {
++static const unsigned char initseq[1 + SAA7110_NR_REG] = {
+ 	0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
+ 	/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
+ 	/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,
+diff -Nru a/drivers/media/video/saa7114.c b/drivers/media/video/saa7114.c
+--- a/drivers/media/video/saa7114.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/saa7114.c	2005-03-18 22:35:10 -08:00
+@@ -163,7 +163,7 @@
+ 		u8 block_data[32];
+ 
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
++		msg.flags = 0;
+ 		while (len >= 2) {
+ 			msg.buf = (char *) block_data;
+ 			msg.len = 0;
+diff -Nru a/drivers/media/video/saa7185.c b/drivers/media/video/saa7185.c
+--- a/drivers/media/video/saa7185.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/media/video/saa7185.c	2005-03-18 22:35:10 -08:00
+@@ -118,7 +118,7 @@
+ 		u8 block_data[32];
+ 
+ 		msg.addr = client->addr;
+-		msg.flags = client->flags;
++		msg.flags = 0;
+ 		while (len >= 2) {
+ 			msg.buf = (char *) block_data;
+ 			msg.len = 0;
+diff -Nru a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
+--- a/drivers/net/amd8111e.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/amd8111e.c	2005-03-18 22:35:10 -08:00
+@@ -1381,6 +1381,8 @@
+ 
+ 	if(amd8111e_restart(dev)){
+ 		spin_unlock_irq(&lp->lock);
++		if (dev->irq)
++			free_irq(dev->irq, dev);
+ 		return -ENOMEM;
+ 	}
+ 	/* Start ipg timer */
+diff -Nru a/drivers/net/ppp_async.c b/drivers/net/ppp_async.c
+--- a/drivers/net/ppp_async.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/ppp_async.c	2005-03-18 22:35:10 -08:00
+@@ -1000,7 +1000,7 @@
+ 	data += 4;
+ 	dlen -= 4;
+ 	/* data[0] is code, data[1] is length */
+-	while (dlen >= 2 && dlen >= data[1]) {
++	while (dlen >= 2 && dlen >= data[1] && data[1] >= 2) {
+ 		switch (data[0]) {
+ 		case LCP_MRU:
+ 			val = (data[2] << 8) + data[3];
+diff -Nru a/drivers/net/r8169.c b/drivers/net/r8169.c
+--- a/drivers/net/r8169.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/r8169.c	2005-03-18 22:35:10 -08:00
+@@ -1683,16 +1683,19 @@
+ 	rtl8169_make_unusable_by_asic(desc);
+ }
+ 
+-static inline void rtl8169_return_to_asic(struct RxDesc *desc, int rx_buf_sz)
++static inline void rtl8169_mark_to_asic(struct RxDesc *desc, u32 rx_buf_sz)
+ {
+-	desc->opts1 |= cpu_to_le32(DescOwn + rx_buf_sz);
++	u32 eor = le32_to_cpu(desc->opts1) & RingEnd;
++
++	desc->opts1 = cpu_to_le32(DescOwn | eor | rx_buf_sz);
+ }
+ 
+-static inline void rtl8169_give_to_asic(struct RxDesc *desc, dma_addr_t mapping,
+-					int rx_buf_sz)
++static inline void rtl8169_map_to_asic(struct RxDesc *desc, dma_addr_t mapping,
++				       u32 rx_buf_sz)
+ {
+ 	desc->addr = cpu_to_le64(mapping);
+-	desc->opts1 |= cpu_to_le32(DescOwn + rx_buf_sz);
++	wmb();
++	rtl8169_mark_to_asic(desc, rx_buf_sz);
+ }
+ 
+ static int rtl8169_alloc_rx_skb(struct pci_dev *pdev, struct sk_buff **sk_buff,
+@@ -1712,7 +1715,7 @@
+ 	mapping = pci_map_single(pdev, skb->tail, rx_buf_sz,
+ 				 PCI_DMA_FROMDEVICE);
+ 
+-	rtl8169_give_to_asic(desc, mapping, rx_buf_sz);
++	rtl8169_map_to_asic(desc, mapping, rx_buf_sz);
+ 
+ out:
+ 	return ret;
+@@ -2150,7 +2153,7 @@
+ 			skb_reserve(skb, NET_IP_ALIGN);
+ 			eth_copy_and_sum(skb, sk_buff[0]->tail, pkt_size, 0);
+ 			*sk_buff = skb;
+-			rtl8169_return_to_asic(desc, rx_buf_sz);
++			rtl8169_mark_to_asic(desc, rx_buf_sz);
+ 			ret = 0;
+ 		}
+ 	}
+diff -Nru a/drivers/net/sis900.c b/drivers/net/sis900.c
+--- a/drivers/net/sis900.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/sis900.c	2005-03-18 22:35:10 -08:00
+@@ -236,7 +236,7 @@
+ 	signature = (u16) read_eeprom(ioaddr, EEPROMSignature);    
+ 	if (signature == 0xffff || signature == 0x0000) {
+ 		printk (KERN_INFO "%s: Error EERPOM read %x\n", 
+-			net_dev->name, signature);
++			pci_name(pci_dev), signature);
+ 		return 0;
+ 	}
+ 
+@@ -268,7 +268,7 @@
+ 	if (!isa_bridge)
+ 		isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0018, isa_bridge);
+ 	if (!isa_bridge) {
+-		printk("%s: Can not find ISA bridge\n", net_dev->name);
++		printk("%s: Can not find ISA bridge\n", pci_name(pci_dev));
+ 		return 0;
+ 	}
+ 	pci_read_config_byte(isa_bridge, 0x48, &reg);
+@@ -456,10 +456,6 @@
+ 	net_dev->tx_timeout = sis900_tx_timeout;
+ 	net_dev->watchdog_timeo = TX_TIMEOUT;
+ 	net_dev->ethtool_ops = &sis900_ethtool_ops;
+-	
+-	ret = register_netdev(net_dev);
+-	if (ret)
+-		goto err_unmap_rx;
+ 		
+ 	/* Get Mac address according to the chip revision */
+ 	pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &revision);
+@@ -476,7 +472,7 @@
+ 
+ 	if (ret == 0) {
+ 		ret = -ENODEV;
+-		goto err_out_unregister;
++		goto err_unmap_rx;
+ 	}
+ 	
+ 	/* 630ET : set the mii access mode as software-mode */
+@@ -486,7 +482,7 @@
+ 	/* probe for mii transceiver */
+ 	if (sis900_mii_probe(net_dev) == 0) {
+ 		ret = -ENODEV;
+-		goto err_out_unregister;
++		goto err_unmap_rx;
+ 	}
+ 
+ 	/* save our host bridge revision */
+@@ -496,6 +492,10 @@
+ 		pci_dev_put(dev);
+ 	}
+ 
++	ret = register_netdev(net_dev);
++	if (ret)
++		goto err_unmap_rx;
++
+ 	/* print some information about our NIC */
+ 	printk(KERN_INFO "%s: %s at %#lx, IRQ %d, ", net_dev->name,
+ 	       card_name, ioaddr, net_dev->irq);
+@@ -505,8 +505,6 @@
+ 
+ 	return 0;
+ 
+- err_out_unregister:
+- 	unregister_netdev(net_dev);
+  err_unmap_rx:
+ 	pci_free_consistent(pci_dev, RX_TOTAL_SIZE, sis_priv->rx_ring,
+ 		sis_priv->rx_ring_dma);
+@@ -533,6 +531,7 @@
+ static int __init sis900_mii_probe(struct net_device * net_dev)
+ {
+ 	struct sis900_private * sis_priv = net_dev->priv;
++	const char *dev_name = pci_name(sis_priv->pci_dev);
+ 	u16 poll_bit = MII_STAT_LINK, status = 0;
+ 	unsigned long timeout = jiffies + 5 * HZ;
+ 	int phy_addr;
+@@ -582,21 +581,20 @@
+ 					mii_phy->phy_types =
+ 					    (mii_status & (MII_STAT_CAN_TX_FDX | MII_STAT_CAN_TX)) ? LAN : HOME;
+ 				printk(KERN_INFO "%s: %s transceiver found at address %d.\n",
+-				       net_dev->name, mii_chip_table[i].name,
++				       dev_name, mii_chip_table[i].name,
+ 				       phy_addr);
+ 				break;
+ 			}
+ 			
+ 		if( !mii_chip_table[i].phy_id1 ) {
+ 			printk(KERN_INFO "%s: Unknown PHY transceiver found at address %d.\n",
+-			       net_dev->name, phy_addr);
++			       dev_name, phy_addr);
+ 			mii_phy->phy_types = UNKNOWN;
+ 		}
+ 	}
+ 	
+ 	if (sis_priv->mii == NULL) {
+-		printk(KERN_INFO "%s: No MII transceivers found!\n",
+-			net_dev->name);
++		printk(KERN_INFO "%s: No MII transceivers found!\n", dev_name);
+ 		return 0;
+ 	}
+ 
+@@ -621,7 +619,7 @@
+ 			poll_bit ^= (mdio_read(net_dev, sis_priv->cur_phy, MII_STATUS) & poll_bit);
+ 			if (time_after_eq(jiffies, timeout)) {
+ 				printk(KERN_WARNING "%s: reset phy and link down now\n",
+-					net_dev->name);
++				       dev_name);
+ 				return -ETIME;
+ 			}
+ 		}
+@@ -691,7 +689,7 @@
+ 		sis_priv->mii = default_phy;
+ 		sis_priv->cur_phy = default_phy->phy_addr;
+ 		printk(KERN_INFO "%s: Using transceiver found at address %d as default\n",
+-					net_dev->name,sis_priv->cur_phy);
++		       pci_name(sis_priv->pci_dev), sis_priv->cur_phy);
+ 	}
+ 	
+ 	status = mdio_read(net_dev, sis_priv->cur_phy, MII_CONTROL);
+diff -Nru a/drivers/net/tun.c b/drivers/net/tun.c
+--- a/drivers/net/tun.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/tun.c	2005-03-18 22:35:10 -08:00
+@@ -229,7 +229,7 @@
+ 	size_t len = count;
+ 
+ 	if (!(tun->flags & TUN_NO_PI)) {
+-		if ((len -= sizeof(pi)) > len)
++		if ((len -= sizeof(pi)) > count)
+ 			return -EINVAL;
+ 
+ 		if(memcpy_fromiovec((void *)&pi, iv, sizeof(pi)))
+diff -Nru a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
+--- a/drivers/net/via-rhine.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/via-rhine.c	2005-03-18 22:35:10 -08:00
+@@ -1197,8 +1197,10 @@
+ 		       dev->name, rp->pdev->irq);
+ 
+ 	rc = alloc_ring(dev);
+-	if (rc)
++	if (rc) {
++		free_irq(rp->pdev->irq, dev);
+ 		return rc;
++	}
+ 	alloc_rbufs(dev);
+ 	alloc_tbufs(dev);
+ 	rhine_chip_reset(dev);
+@@ -1898,6 +1900,9 @@
+ 	struct net_device *dev = pci_get_drvdata(pdev);
+ 	struct rhine_private *rp = netdev_priv(dev);
+ 	void __iomem *ioaddr = rp->base;
++
++	if (!(rp->quirks & rqWOL))
++		return; /* Nothing to do for non-WOL adapters */
+ 
+ 	rhine_power_init(dev);
+ 
+diff -Nru a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c
+--- a/drivers/net/wan/hd6457x.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/net/wan/hd6457x.c	2005-03-18 22:35:10 -08:00
+@@ -315,7 +315,7 @@
+ #endif
+ 	stats->rx_packets++;
+ 	stats->rx_bytes += skb->len;
+-	skb->dev->last_rx = jiffies;
++	dev->last_rx = jiffies;
+ 	skb->protocol = hdlc_type_trans(skb, dev);
+ 	netif_rx(skb);
+ }
+diff -Nru a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
+--- a/drivers/pci/hotplug/pciehp_ctrl.c	2005-03-18 22:35:10 -08:00
++++ b/drivers/pci/hotplug/pciehp_ctrl.c	2005-03-18 22:35:10 -08:00
+@@ -1354,10 +1354,11 @@
+ 				dbg("PCI Bridge Hot-Remove s:b:d:f(%02x:%02x:%02x:%02x)\n", 
+ 					ctrl->seg, func->bus, func->device, func->function);
+ 				bridge_slot_remove(func);
+-			} else
++			} else {
+ 				dbg("PCI Function Hot-Remove s:b:d:f(%02x:%02x:%02x:%02x)\n", 
+ 					ctrl->seg, func->bus, func->device, func->function);
+ 				slot_remove(func);
++			}
+ 
+ 			func = pciehp_slot_find(ctrl->slot_bus, device, 0);
+ 		}
+diff -Nru a/fs/cramfs/inode.c b/fs/cramfs/inode.c
+--- a/fs/cramfs/inode.c	2005-03-18 22:35:10 -08:00
++++ b/fs/cramfs/inode.c	2005-03-18 22:35:10 -08:00
+@@ -70,6 +70,7 @@
+ 			inode->i_data.a_ops = &cramfs_aops;
+ 		} else {
+ 			inode->i_size = 0;
++			inode->i_blocks = 0;
+ 			init_special_inode(inode, inode->i_mode,
+ 				old_decode_dev(cramfs_inode->size));
+ 		}
+diff -Nru a/fs/eventpoll.c b/fs/eventpoll.c
+--- a/fs/eventpoll.c	2005-03-18 22:35:10 -08:00
++++ b/fs/eventpoll.c	2005-03-18 22:35:10 -08:00
+@@ -619,6 +619,7 @@
+ 	return error;
+ }
+ 
++#define MAX_EVENTS (INT_MAX / sizeof(struct epoll_event))
+ 
+ /*
+  * Implement the event wait interface for the eventpoll file. It is the kernel
+@@ -635,7 +636,7 @@
+ 		     current, epfd, events, maxevents, timeout));
+ 
+ 	/* The maximum number of event must be greater than zero */
+-	if (maxevents <= 0)
++	if (maxevents <= 0 || maxevents > MAX_EVENTS)
+ 		return -EINVAL;
+ 
+ 	/* Verify that the area passed by the user is writeable */
+diff -Nru a/fs/exec.c b/fs/exec.c
+--- a/fs/exec.c	2005-03-18 22:35:10 -08:00
++++ b/fs/exec.c	2005-03-18 22:35:10 -08:00
+@@ -814,7 +814,7 @@
+ {
+ 	/* buf must be at least sizeof(tsk->comm) in size */
+ 	task_lock(tsk);
+-	memcpy(buf, tsk->comm, sizeof(tsk->comm));
++	strncpy(buf, tsk->comm, sizeof(tsk->comm));
+ 	task_unlock(tsk);
+ }
+ 
+diff -Nru a/kernel/signal.c b/kernel/signal.c
+--- a/kernel/signal.c	2005-03-18 22:35:10 -08:00
++++ b/kernel/signal.c	2005-03-18 22:35:10 -08:00
+@@ -1728,6 +1728,7 @@
+ 			 * with another processor delivering a stop signal,
+ 			 * then the SIGCONT that wakes us up should clear it.
+ 			 */
++			read_unlock(&tasklist_lock);
+ 			return 0;
+ 		}
+ 
+diff -Nru a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
+--- a/net/ipv4/fib_hash.c	2005-03-18 22:35:10 -08:00
++++ b/net/ipv4/fib_hash.c	2005-03-18 22:35:10 -08:00
+@@ -919,13 +919,23 @@
+ 	return fa;
+ }
+ 
++static struct fib_alias *fib_get_idx(struct seq_file *seq, loff_t pos)
++{
++	struct fib_alias *fa = fib_get_first(seq);
++
++	if (fa)
++		while (pos && (fa = fib_get_next(seq)))
++			--pos;
++	return pos ? NULL : fa;
++}
++
+ static void *fib_seq_start(struct seq_file *seq, loff_t *pos)
+ {
+ 	void *v = NULL;
+ 
+ 	read_lock(&fib_hash_lock);
+ 	if (ip_fib_main_table)
+-		v = *pos ? fib_get_next(seq) : SEQ_START_TOKEN;
++		v = *pos ? fib_get_idx(seq, *pos - 1) : SEQ_START_TOKEN;
+ 	return v;
+ }
+ 
+diff -Nru a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
+--- a/net/ipv4/tcp_timer.c	2005-03-18 22:35:10 -08:00
++++ b/net/ipv4/tcp_timer.c	2005-03-18 22:35:10 -08:00
+@@ -38,6 +38,7 @@
+ 
+ #ifdef TCP_DEBUG
+ const char tcp_timer_bug_msg[] = KERN_DEBUG "tcpbug: unknown timer value\n";
++EXPORT_SYMBOL(tcp_timer_bug_msg);
+ #endif
+ 
+ /*
+diff -Nru a/net/netrom/nr_in.c b/net/netrom/nr_in.c
+--- a/net/netrom/nr_in.c	2005-03-18 22:35:10 -08:00
++++ b/net/netrom/nr_in.c	2005-03-18 22:35:10 -08:00
+@@ -74,7 +74,6 @@
+ static int nr_state1_machine(struct sock *sk, struct sk_buff *skb,
+ 	int frametype)
+ {
+-	bh_lock_sock(sk);
+ 	switch (frametype) {
+ 	case NR_CONNACK: {
+ 		nr_cb *nr = nr_sk(sk);
+@@ -103,8 +102,6 @@
+ 	default:
+ 		break;
+ 	}
+-	bh_unlock_sock(sk);
+-
+ 	return 0;
+ }
+ 
+@@ -116,7 +113,6 @@
+ static int nr_state2_machine(struct sock *sk, struct sk_buff *skb,
+ 	int frametype)
+ {
+-	bh_lock_sock(sk);
+ 	switch (frametype) {
+ 	case NR_CONNACK | NR_CHOKE_FLAG:
+ 		nr_disconnect(sk, ECONNRESET);
+@@ -132,8 +128,6 @@
+ 	default:
+ 		break;
+ 	}
+-	bh_unlock_sock(sk);
+-
+ 	return 0;
+ }
+ 
+@@ -154,7 +148,6 @@
+ 	nr = skb->data[18];
+ 	ns = skb->data[17];
+ 
+-	bh_lock_sock(sk);
+ 	switch (frametype) {
+ 	case NR_CONNREQ:
+ 		nr_write_internal(sk, NR_CONNACK);
+@@ -265,8 +258,6 @@
+ 	default:
+ 		break;
+ 	}
+-	bh_unlock_sock(sk);
+-
+ 	return queued;
+ }
+ 
+diff -Nru a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
+--- a/net/xfrm/xfrm_state.c	2005-03-18 22:35:10 -08:00
++++ b/net/xfrm/xfrm_state.c	2005-03-18 22:35:10 -08:00
+@@ -609,7 +609,7 @@
+ 
+ 	for (i = 0; i < XFRM_DST_HSIZE; i++) {
+ 		list_for_each_entry(x, xfrm_state_bydst+i, bydst) {
+-			if (x->km.seq == seq) {
++			if (x->km.seq == seq && x->km.state == XFRM_STATE_ACQ) {
+ 				xfrm_state_hold(x);
+ 				return x;
+ 			}
+diff -Nru a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
+--- a/sound/pci/ac97/ac97_codec.c	2005-03-18 22:35:10 -08:00
++++ b/sound/pci/ac97/ac97_codec.c	2005-03-18 22:35:10 -08:00
+@@ -1185,7 +1185,7 @@
+ /*
+  * create mute switch(es) for normal stereo controls
+  */
+-static int snd_ac97_cmute_new(snd_card_t *card, char *name, int reg, ac97_t *ac97)
++static int snd_ac97_cmute_new_stereo(snd_card_t *card, char *name, int reg, int check_stereo, ac97_t *ac97)
+ {
+ 	snd_kcontrol_t *kctl;
+ 	int err;
+@@ -1196,7 +1196,7 @@
+ 
+ 	mute_mask = 0x8000;
+ 	val = snd_ac97_read(ac97, reg);
+-	if (ac97->flags & AC97_STEREO_MUTES) {
++	if (check_stereo || (ac97->flags & AC97_STEREO_MUTES)) {
+ 		/* check whether both mute bits work */
+ 		val1 = val | 0x8080;
+ 		snd_ac97_write(ac97, reg, val1);
+@@ -1254,7 +1254,7 @@
+ /*
+  * create a mute-switch and a volume for normal stereo/mono controls
+  */
+-static int snd_ac97_cmix_new(snd_card_t *card, const char *pfx, int reg, ac97_t *ac97)
++static int snd_ac97_cmix_new_stereo(snd_card_t *card, const char *pfx, int reg, int check_stereo, ac97_t *ac97)
+ {
+ 	int err;
+ 	char name[44];
+@@ -1265,7 +1265,7 @@
+ 
+ 	if (snd_ac97_try_bit(ac97, reg, 15)) {
+ 		sprintf(name, "%s Switch", pfx);
+-		if ((err = snd_ac97_cmute_new(card, name, reg, ac97)) < 0)
++		if ((err = snd_ac97_cmute_new_stereo(card, name, reg, check_stereo, ac97)) < 0)
+ 			return err;
+ 	}
+ 	check_volume_resolution(ac97, reg, &lo_max, &hi_max);
+@@ -1277,6 +1277,8 @@
+ 	return 0;
+ }
+ 
++#define snd_ac97_cmix_new(card, pfx, reg, ac97)	snd_ac97_cmix_new_stereo(card, pfx, reg, 0, ac97)
++#define snd_ac97_cmute_new(card, name, reg, ac97)	snd_ac97_cmute_new_stereo(card, name, reg, 0, ac97)
+ 
+ static unsigned int snd_ac97_determine_spdif_rates(ac97_t *ac97);
+ 
+@@ -1327,7 +1329,8 @@
+ 
+ 	/* build surround controls */
+ 	if (snd_ac97_try_volume_mix(ac97, AC97_SURROUND_MASTER)) {
+-		if ((err = snd_ac97_cmix_new(card, "Surround Playback", AC97_SURROUND_MASTER, ac97)) < 0)
++		/* Surround Master (0x38) is with stereo mutes */
++		if ((err = snd_ac97_cmix_new_stereo(card, "Surround Playback", AC97_SURROUND_MASTER, 1, ac97)) < 0)
+ 			return err;
+ 	}
+ 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/pci-hotplug.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/pci-hotplug.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/pci-hotplug.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,35 +0,0 @@
-diff -Naru a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
---- a/drivers/pci/hotplug/pciehp_ctrl.c	2005-03-13 05:11:11 -08:00
-+++ b/drivers/pci/hotplug/pciehp_ctrl.c	2005-03-13 05:11:11 -08:00
-@@ -1354,10 +1354,11 @@
- 				dbg("PCI Bridge Hot-Remove s:b:d:f(%02x:%02x:%02x:%02x)\n", 
- 					ctrl->seg, func->bus, func->device, func->function);
- 				bridge_slot_remove(func);
--			} else
-+			} else {
- 				dbg("PCI Function Hot-Remove s:b:d:f(%02x:%02x:%02x:%02x)\n", 
- 					ctrl->seg, func->bus, func->device, func->function);
- 				slot_remove(func);
-+			}
- 
- 			func = pciehp_slot_find(ctrl->slot_bus, device, 0);
- 		}
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:43:53-08:00 alexn@dsv.su.se 
-#   [PATCH] PCI: fix hotplug double free
-#   
-#   [PATCH] PCI: fix hotplug double free
-#   
-#   With the brackets missed out func could be freed twice.
-#   
-#   Found by Coverity tool
-#   
-#   Signed-off-by: Alexander Nyberg <alexn@dsv.su.se>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# drivers/pci/hotplug/pciehp_ctrl.c
-#   2005/03/04 12:41:13-08:00 alexn@dsv.su.se +2 -1
-#   PCI: fix hotplug double free
-# 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/powerpc-altivec-raid6.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/powerpc-altivec-raid6.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/powerpc-altivec-raid6.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,27 +0,0 @@
-#! /bin/sh -e 
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Description: trivial fix for 2.6.11 raid6 compilation on ppc w/ Altivec
-## DP: Patch authors: Rene Rebe <rene@exactcode.de>, lof Johansson <olof@austin.ibm.com>
-## DP: Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-## DP: Upstream status: backport
-## DP: BK URL: http://linux-release.bkbits.net:8080/linux-2.6.11/cset@42275e48-I3uxcQObgzAOX9FjPOijA?nav=index.html|ChangeSet@-2d
-## DP: BK URL: http://linux-release.bkbits.net:8080/linux-2.6.11/cset@42279a5bewn986Gth9TPkr_7XkLBrQ?nav=index.html|ChangeSet@-2d
-
-. $(dirname $0)/DPATCH
-
-@DPATCH@
---- kernel-source-2.6.11/drivers/md/raid6altivec.uc.orig	2005-03-05 14:57:39.266272264 +0100
-+++ kernel-source-2.6.11/drivers/md/raid6altivec.uc	2005-03-05 14:58:34.367895544 +0100
-@@ -108,7 +108,11 @@
- int raid6_have_altivec(void)
- {
- 	/* This assumes either all CPUs have Altivec or none does */
-+#ifdef CONFIG_PPC64
- 	return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC;
-+#else
-+	return cur_cpu_spec[0]->cpu_features & CPU_FTR_ALTIVEC;
-+#endif
- }
- #endif
- 

Deleted: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ppc32-e500-oprofuile-build.dpatch
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ppc32-e500-oprofuile-build.dpatch	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/ppc32-e500-oprofuile-build.dpatch	2005-03-21 08:58:32 UTC (rev 2759)
@@ -1,36 +0,0 @@
-diff -Naru a/arch/ppc/oprofile/op_model_fsl_booke.c b/arch/ppc/oprofile/op_model_fsl_booke.c
---- a/arch/ppc/oprofile/op_model_fsl_booke.c	2005-03-13 05:13:38 -08:00
-+++ b/arch/ppc/oprofile/op_model_fsl_booke.c	2005-03-13 05:13:38 -08:00
-@@ -150,7 +150,6 @@
- 	int is_kernel;
- 	int val;
- 	int i;
--	unsigned int cpu = smp_processor_id();
- 
- 	/* set the PMM bit (see comment below) */
- 	mtmsr(mfmsr() | MSR_PMM);
-@@ -162,7 +161,7 @@
- 		val = ctr_read(i);
- 		if (val < 0) {
- 			if (oprofile_running && ctr[i].enabled) {
--				oprofile_add_sample(pc, is_kernel, i, cpu);
-+				oprofile_add_pc(pc, is_kernel, i);
- 				ctr_write(i, reset_value[i]);
- 			} else {
- 				ctr_write(i, 0);
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2005/03/12 21:42:42-08:00 galak@freescale.com 
-#   [PATCH] ppc32: trivial fix for e500 oprofile build
-#   
-#   Fix for trivial fix for 2.6.11 oprofile compilation on e500 based ppc.
-#   
-#   Signed-off-by: Andy Fleming <afleming@freescale.com>
-#   Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
-#   Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-# 
-# arch/ppc/oprofile/op_model_fsl_booke.c
-#   2005/03/04 11:02:52-08:00 galak@freescale.com +1 -2
-#   ppc32: trivial fix for e500 oprofile build
-# 

Modified: trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1
===================================================================
--- trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1	2005-03-21 08:36:49 UTC (rev 2758)
+++ trunk/kernel/source/kernel-source-2.6.11-2.6.11/debian/patches/series/2.6.11-1	2005-03-21 08:58:32 UTC (rev 2759)
@@ -32,7 +32,6 @@
 + sparc64-sb1500-clock-2.6.dpatch
 + powerpc-g3-750cxe.dpatch
 + powerpc-calibrate-tau.dpatch
-+ powerpc-altivec-raid6.dpatch
 + fbdev-radeon-noaccel.dpatch
 + sparc32-hypersparc-srmmu.dpatch
 + fix-alpha-ext3-oops.dpatch
@@ -49,24 +48,11 @@
 + powerpc-therm-adt746x-new-i2c-fix.dpatch
 + powerpc-mv643xx-enet.dpatch
 + powerpc-mv643xx-eth-pegasos.dpatch
-+ drivers_input_serio_dell_keyboard.dpatch
 + modular-ide.dpatch
 + drivers-ide-__devinit.dpatch
-+ fs-eventpoll-overflow-fix.dpatch
 + sparc-sunsab-serial-lockup.dpatch
-+ drivers-net-via-rhine-fix-oops-shutdown.dpatch
-+ drivers-net-sis900-fix-oops.dpatch
-+ drivers-net-r8169-status.dpatch
-+ pci-hotplug.dpatch
-+ ppc32-e500-oprofuile-build.dpatch
-+ ipv6-modular-build.dpatch
-+ drivers-video-i2c-message-flags.dpatch
-+ drivers-char-drm_ioctl.dpatch
-+ fs-cramfs-stat-fix.dpatch
-+ drivers-video-saa7110-oops-fix.dpatch
 + powerpc-pmac-agp-sleep.dpatch
 + ia64-generic-nosmp.dpatch
-+ fs-exec-fix-get_task_comm.dpatch
-+ drivers-net-ppp_async.dpatch
 + amd64-outs.dpatch
 + drivers-input-serio-8042-resume.dpatch
++ patch-2.6.11.5