]> git.neil.brown.name Git - history.git/commitdiff
Linux 2.2.24-rc2 2.2.24-rc2
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 23 Nov 2007 20:24:35 +0000 (15:24 -0500)
committerAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 23 Nov 2007 20:24:35 +0000 (15:24 -0500)
o   Apply AMD fix correctly                         (Bruce Robson)
o   Fix possible memory scribble in starfire        (Ion Badulescu)

Makefile
arch/i386/kernel/setup.c
drivers/net/starfire.c

index 13cfbff71f8836870ee19ce900dbc83936ef5909..fd26aed5d48e0f73ccb18883fd85debdcb56ec17 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 2
 SUBLEVEL = 24
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc2
 
 ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
 
index 1946ff643319852ceeb1cd2634a9cfa875adbfa3..11ce1d1dcefafe513f01ea3b0e67cb424265e70e 100644 (file)
@@ -1380,7 +1380,7 @@ __initfunc(void identify_cpu(struct cpuinfo_x86 *c))
                case X86_VENDOR_AMD:
                        if(init_amd(c))
                                return;
-                       return;
+                       break;
 
                case X86_VENDOR_CENTAUR:
                        init_centaur(c);
index fff55a9c0ba75d792c2d2a5485cc29a6da59edcc..63d740e2592467eff6171e4d818730351c3f885b 100644 (file)
@@ -1046,25 +1046,22 @@ static void tx_timeout(struct net_device *dev)
 {
        struct netdev_private *np = dev->priv;
        long ioaddr = dev->base_addr;
+       int old_debug;
 
        printk(KERN_WARNING "%s: Transmit timed out, status %8.8x,"
               " resetting...\n", dev->name, (int)readl(ioaddr + IntrStatus));
 
-#ifndef __alpha__
-       {
-               int i;
-               printk(KERN_DEBUG "  Rx ring %p: ", np->rx_ring);
-               for (i = 0; i < RX_RING_SIZE; i++)
-                       printk(" %8.8x", (unsigned int)le32_to_cpu(np->rx_ring[i].rxaddr));
-               printk("\n"KERN_DEBUG"  Tx ring %p: ", np->tx_ring);
-               for (i = 0; i < TX_RING_SIZE; i++)
-                       printk(" %4.4x", le32_to_cpu(np->tx_ring[i].status));
-               printk("\n");
-       }
-#endif
-
        /* Perhaps we should reinitialize the hardware here. */
-       /* Stop and restart the chip's Tx processes . */
+
+       /*
+        * Stop and restart the chip's Tx processes.
+        * Cheat and increase the debug level temporarily.
+        */
+       old_debug = debug;
+       debug = 2;
+       netdev_close(dev);
+       netdev_open(dev);
+       debug = old_debug;
 
        /* Trigger an immediate transmit demand. */
 
@@ -1933,6 +1930,8 @@ static int netdev_close(struct net_device *dev)
        writel(0, ioaddr + IntrEnable);
 
        /* Stop the chip's Tx and Rx processes. */
+       writel(0, ioaddr + GenCtrl);
+       readl(ioaddr + GenCtrl);
 
 #ifdef __i386__
        if (debug > 2) {