r2977 - in trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian: . patches patches/series
Simon Horman
horms@costa.debian.org
Wed, 13 Apr 2005 06:24:21 +0000
Author: horms
Date: 2005-04-13 06:24:20 +0000 (Wed, 13 Apr 2005)
New Revision: 2977
Added:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/159_fs-cramfs-stat.diff
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/160_drivers-net-sis900-oops.diff
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/161_drivers-net-amd8111e-irq.diff
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/162_drivers-net-via-rhine-irq.diff
Modified:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-10
Log:
Some patches from 2.6.11.7 that were missing
Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog 2005-04-13 06:24:20 UTC (rev 2977)
@@ -20,8 +20,24 @@
Potential DOS in load_elf_library. See CAN-2005-0749
(Simon Horman) (closes: #302705)
- -- Simon Horman <horms@debian.org> Tue, 12 Apr 2005 16:45:04 +0900
+ * 159_fs-cramfs-stat.diff
+ Fix to stat output for cramfs
+ (Simon Horman)
+ * 160_drivers-net-sis900-oops.diff
+ sis900 kernel oops fix
+ (Simon Horman)
+
+ * 161_drivers-net-amd8111e-irq.diff
+ AMD8111e driver was releasing an irq in some error situations
+ (Simon Horman)
+
+ * 162_drivers-net-via-rhine-irq.diff
+ VIA Rhine driver was releasing an irq in some error situations
+ (Simon Horman)
+
+ -- Simon Horman <horms@debian.org> Wed, 13 Apr 2005 15:10:18 +0900
+
kernel-source-2.4.27 (2.4.27-9) unstable; urgency=low
* There was a stray file in 2.4.27-8. Don't include it this time.
Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/159_fs-cramfs-stat.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/159_fs-cramfs-stat.diff 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/159_fs-cramfs-stat.diff 2005-04-13 06:24:20 UTC (rev 2977)
@@ -0,0 +1,52 @@
+# origin: akpm (BitKeeper)
+# cset: 1.2087 (2.6) key=4233d1160KRwGtYr32RaehQWJRFT_g
+# URL: http://linux.bkbits.net:8080/linux-2.6/cset@4233d1160KRwGtYr32RaehQWJRFT_g
+# inclusion: upstream
+# descrition: [PATCH] cramfs: small stat(2) fix
+# revision date: Fri, 08 Apr 2005 14:50:21 +0900
+#
+# S rset: ChangeSet|1.2086..1.2087
+# R rset: fs/cramfs/inode.c|1.38..1.39
+#
+# Key:
+# S: Skipped ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted Manually deleted by subsequent user edit
+# R: Revised Manually revised by subsequent user edit
+#
+#
+# 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
+#
+#
+===== fs/cramfs/inode.c 1.38 vs 1.39 =====
+--- a/fs/cramfs/inode.c 2004-04-17 00:39:37 +09:00
++++ b/fs/cramfs/inode.c 2005-03-05 06:15:57 +09:00
+@@ -73,6 +73,7 @@ static struct inode *get_cramfs_inode(st
+ inode->i_data.a_ops = &cramfs_aops;
+ } else {
+ inode->i_size = 0;
++ inode->i_blocks = 0;
+ init_special_inode(inode, inode->i_mode, cramfs_inode->size);
+ }
+ }
Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/160_drivers-net-sis900-oops.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/160_drivers-net-sis900-oops.diff 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/160_drivers-net-sis900-oops.diff 2005-04-13 06:24:20 UTC (rev 2977)
@@ -0,0 +1,172 @@
+# origin: chrisw (BitKeeper)
+# cset: 1.2095 (2.6) key=4233d3c5YkBpjko54dEwE4WPIndnLg
+# URL: http://linux.bkbits.net:8080/linux-2.6/cset@4233d3c5YkBpjko54dEwE4WPIndnLg
+# inclusion: upstream
+# descrition: [PATCH] sis900 kernel oops fix
+# revision date: Fri, 08 Apr 2005 14:52:30 +0900
+#
+# S rset: ChangeSet|1.2094..1.2095
+# R rset: drivers/net/sis900.c|1.62..1.63
+#
+# Key:
+# S: Skipped ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted Manually deleted by subsequent user edit
+# R: Revised Manually revised by subsequent user edit
+#
+#
+# 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
+#
+#
+--- a/drivers/net/sis900.c 2004-08-08 08:26:05.000000000 +0900
++++ b/drivers/net/sis900.c 2005-04-13 15:21:47.000000000 +0900
+@@ -233,7 +233,7 @@ static int __devinit sis900_get_mac_addr
+ 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;
+ }
+
+@@ -264,7 +264,8 @@ static int __devinit sis630e_get_mac_add
+ if (!isa_bridge) {
+ isa_bridge = pci_find_device(PCI_VENDOR_ID_SI, 0x0018, isa_bridge);
+ if (!isa_bridge) {
+- printk("%s: Can not find ISA bridge\n", net_dev->name);
++ printk(KERN_WARNING "%s: Can not find ISA bridge\n",
++ pci_name(pci_dev));
+ return 0;
+ }
+ }
+@@ -449,10 +450,6 @@ static int __devinit sis900_probe (struc
+ 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);
+@@ -469,7 +466,7 @@ static int __devinit sis900_probe (struc
+
+ if (ret == 0) {
+ ret = -ENODEV;
+- goto err_out_unregister;
++ goto err_unmap_rx;
+ }
+
+ /* 630ET : set the mii access mode as software-mode */
+@@ -479,7 +476,7 @@ static int __devinit sis900_probe (struc
+ /* 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 */
+@@ -487,6 +484,10 @@ static int __devinit sis900_probe (struc
+ if (dev)
+ pci_read_config_byte(dev, PCI_CLASS_REVISION, &sis_priv->host_bridge_rev);
+
++ 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);
+@@ -496,8 +497,6 @@ static int __devinit sis900_probe (struc
+
+ 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);
+@@ -524,6 +523,7 @@ static int __devinit sis900_probe (struc
+ 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;
+@@ -573,18 +573,17 @@ static int __init sis900_mii_probe (stru
+ 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, phy_addr);
++ 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);
+ }
+
+ 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;
+ }
+
+@@ -608,7 +607,8 @@ static int __init sis900_mii_probe (stru
+ schedule_timeout(0);
+ 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);
++ printk(KERN_WARNING "%s: reset phy and link down now\n",
++ dev_name);
+ return -ETIME;
+ }
+ }
+@@ -671,7 +671,7 @@ static u16 sis900_default_phy(struct net
+ if( sis_priv->mii != default_phy ){
+ 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);
++ printk(KERN_INFO "%s: Using transceiver found at address %d as default\n", pci_name(sis_priv->pci_dev), sis_priv->cur_phy);
+ }
+
+ status = mdio_read(net_dev, sis_priv->cur_phy, MII_CONTROL);
Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/161_drivers-net-amd8111e-irq.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/161_drivers-net-amd8111e-irq.diff 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/161_drivers-net-amd8111e-irq.diff 2005-04-13 06:24:20 UTC (rev 2977)
@@ -0,0 +1,60 @@
+# origin: dilinger (BitKeeper)
+# cset: 1.2103 (2.6) key=423bb97clhqMvFL08P6JJ_Jc27TAAA
+# URL: http://linux.bkbits.net:8080/linux-2.6/cset@423bb97clhqMvFL08P6JJ_Jc27TAAA
+# inclusion: upstream
+# descrition: [PATCH] Possible AMD8111e free irq issue
+# revision date: Fri, 08 Apr 2005 14:54:47 +0900
+#
+# S rset: ChangeSet|1.2102..1.2103
+# I rset: drivers/net/amd8111e.c|1.30..1.31
+#
+# Key:
+# S: Skipped ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted Manually deleted by subsequent user edit
+# R: Revised Manually revised by subsequent user edit
+#
+#
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+# 2005/03/18 21:32:44-08:00 dilinger@debian.org
+# [PATCH] Possible AMD8111e free irq issue
+#
+# It seems to me that if in the amd8111e_open() fuction dev->irq isn't
+# zero and the irq request succeeds it might not get released anymore.
+#
+# Specifically, on failure of the amd8111e_restart() call the function
+# returns -ENOMEM without releasing the irq. The amd8111e_restart()
+# function can fail because of various pci_alloc_consistent() and
+# dev_alloc_skb() calls in amd8111e_init_ring() which is being
+# called by amd8111e_restart.
+#
+# 1374 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ,
+# 1375 dev->name, dev))
+# 1376 return -EAGAIN;
+#
+# Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
+# Signed-off-by: Chris Wright <chrisw@osdl.org>
+# Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+#
+# drivers/net/amd8111e.c
+# 2005/03/09 20:29:47-08:00 dilinger@debian.org +2 -0
+# Possible AMD8111e free irq issue
+#
+#
+===== drivers/net/amd8111e.c 1.30 vs 1.31 =====
+--- 1.30/drivers/net/amd8111e.c 2005-01-11 01:52:26 +09:00
++++ 1.31/drivers/net/amd8111e.c 2005-03-10 13:29:47 +09:00
+@@ -1381,6 +1381,8 @@ static int amd8111e_open(struct net_devi
+
+ if(amd8111e_restart(dev)){
+ spin_unlock_irq(&lp->lock);
++ if (dev->irq)
++ free_irq(dev->irq, dev);
+ return -ENOMEM;
+ }
+ /* Start ipg timer */
Added: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/162_drivers-net-via-rhine-irq.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/162_drivers-net-via-rhine-irq.diff 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/162_drivers-net-via-rhine-irq.diff 2005-04-13 06:24:20 UTC (rev 2977)
@@ -0,0 +1,56 @@
+# origin: dilinger (BitKeeper)
+# cset: 1.2108 (2.6) key=423bbc05NDXpG43AD5mxHCl1xpVtDQ
+# URL: http://linux.bkbits.net:8080/linux-2.6/cset@423bbc05NDXpG43AD5mxHCl1xpVtDQ
+# inclusion: upstream
+# descrition: [PATCH] Possible VIA-Rhine free irq issue
+# revision date: Fri, 08 Apr 2005 14:56:09 +0900
+#
+# S rset: ChangeSet|1.2107..1.2108
+# R rset: drivers/net/via-rhine.c|1.90..1.91
+#
+# Key:
+# S: Skipped ChangeSet file only
+# O: Original Followed by Updated
+# U: Updated Included with updated range of versions
+# I: Included Included verbatim
+# E: Excluded Excluded on request from user
+# D: Deleted Manually deleted by subsequent user edit
+# R: Revised Manually revised by subsequent user edit
+#
+#
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+# 2005/03/18 21:43:33-08:00 dilinger@debian.org
+# [PATCH] Possible VIA-Rhine free irq issue
+#
+# It seems to me that in the VIA Rhine device driver the requested irq might
+# not be freed in case the alloc_ring() function fails. alloc_ring()
+# can fail with a ENOMEM return value because of possible
+# pci_alloc_consistent() failures.
+#
+# Updated to CodingStyle.
+#
+# Signed-off-by: Jeff Garzik <jgarzik@pobox.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/11 15:18:25-08:00 dilinger@debian.org +3 -1
+# Possible VIA-Rhine free irq issue
+#
+#
+--- a/drivers/net/via-rhine.c 2005-04-08 17:13:44.000000000 +0900
++++ b/drivers/net/via-rhine.c 2005-04-08 17:14:14.000000000 +0900
+@@ -1180,8 +1180,10 @@ static int rhine_open(struct net_device
+ dev->name, rp->pdev->irq);
+
+ i = alloc_ring(dev);
+- if (i)
++ if (i) {
++ free_irq(rp->pdev->irq, dev);
+ return i;
++ }
+ alloc_rbufs(dev);
+ alloc_tbufs(dev);
+ wait_for_reset(dev, rp->quirks, dev->name);
Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-10
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-10 2005-04-12 20:01:58 UTC (rev 2976)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/series/2.4.27-10 2005-04-13 06:24:20 UTC (rev 2977)
@@ -4,3 +4,8 @@
+ 157_fs-isofs-range-check-2.diff
+ 157_fs-isofs-range-check-3.diff
+ 158_fs-binfmt_elf-dos.diff
++ 159_fs-cramfs-stat.diff
++ 160_drivers-net-sis900-oops.diff
++ 161_drivers-net-amd8111e-irq.diff
++ 162_drivers-net-via-rhine-irq.diff
+