]> git.neil.brown.name Git - history.git/commitdiff
Import 2.3.44pre3 2.3.44pre3
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:31:03 +0000 (15:31 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:31:03 +0000 (15:31 -0500)
drivers/net/sis900.c
fs/partitions/Config.in
include/asm-i386/pgtable.h

index 60d73069934a7c6f018c230a73ba3e10b888b3a4..4d391cf2b0eed992369a3184bebbd4b60e624f63 100644 (file)
@@ -17,7 +17,8 @@
    SiS 7014 Single Chip 100BASE-TX/10BASE-T Physical Layer Solution,
    preliminary Rev. 1.0 Jan. 18, 1998
    http://www.sis.com.tw/support/databook.htm
-   
+
+   Rev 1.06.04 Feb. 11 2000 Jeff Garzik <jgarzik@mandrakesoft.com> softnet and init for kernel 2.4
    Rev 1.06.03 Dec. 23 1999 Ollie Lho Third release
    Rev 1.06.02 Nov. 23 1999 Ollie Lho bug in mac probing fixed 
    Rev 1.06.01 Nov. 16 1999 Ollie Lho CRC calculation provide by Joseph Zbiciak (im14u2c@primenet.com)
@@ -51,7 +52,7 @@
 #include "sis900.h"
 
 static const char *version =
-"sis900.c: v1.06.03  12/23/99\n";
+"sis900.c: v1.06.04  02/11/2000\n";
 
 static int max_interrupt_work = 20;
 #define sis900_debug debug
@@ -788,6 +789,7 @@ static void sis900_tx_timeout(struct net_device *net_dev)
 {
        struct sis900_private *sis_priv = (struct sis900_private *)net_dev->priv;
        long ioaddr = net_dev->base_addr;
+       unsigned long flags;
        int i;
 
        printk(KERN_INFO "%s: Transmit timeout, status %8.8x %8.8x \n",
@@ -798,6 +800,7 @@ static void sis900_tx_timeout(struct net_device *net_dev)
 
        /* discard unsent packets, should this code section be protected by
           cli(), sti() ?? */
+       spin_lock_irqsave(&sis_priv->lock, flags);
        sis_priv->dirty_tx = sis_priv->cur_tx = 0;
        for (i = 0; i < NUM_TX_DESC; i++) {
                if (sis_priv->tx_skbuff[i] != NULL) {
@@ -808,6 +811,7 @@ static void sis900_tx_timeout(struct net_device *net_dev)
                        sis_priv->stats.tx_dropped++;
                }
        }
+       spin_unlock_irqrestore(&sis_priv->lock, flags);
 
        net_dev->trans_start = jiffies;
        sis_priv->tx_full = 0;
@@ -1048,7 +1052,7 @@ static void sis900_finish_xmit (struct net_device *net_dev)
                        sis_priv->stats.tx_packets++;
                }
                /* Free the original skb. */
-               dev_kfree_skb(sis_priv->tx_skbuff[entry]);
+               dev_kfree_skb_irq(sis_priv->tx_skbuff[entry]);
                sis_priv->tx_skbuff[entry] = NULL;
                sis_priv->tx_ring[entry].bufptr = 0;
                sis_priv->tx_ring[entry].cmdsts = 0;
index d978f2c389ac261dbdd51c53c2821ee8873455e3..073a904dc4a95be3d6a46973c3113376d5a61e3d 100644 (file)
@@ -27,9 +27,6 @@ else
    if [ "$ARCH" = "alpha" ]; then
       define_bool CONFIG_OSF_PARTITION y
    fi
-   if [ "$ARCH" = "ppc" -o "$CONFIG_MAC" = "y" ]; then
-      define_bool CONFIG_MAC_PARTITION y
-   fi
    if [ "$CONFIG_AMIGA" != "y" -a "$CONFIG_ATARI" != "y" -a \
         "$CONFIG_MAC" != "y" ]; then
       define_bool CONFIG_MSDOS_PARTITION y
index ef491587f332849e6d3d96858ac72ad85d74f9e4..0a37bbfb919628ffb27482f600771037c5f897a4 100644 (file)
@@ -51,7 +51,7 @@ extern pgd_t swapper_pg_dir[1024];
                        "movl %%cr3, %0;  # flush TLB        \n"        \
                        "movl %0, %%cr3;                     \n"        \
                        "movl %2, %%cr4;  # turn PGE back on \n"        \
-                       : "=r" (tmpreg)                                 \
+                       : "=&r" (tmpreg)                                \
                        : "r" (mmu_cr4_features & ~X86_CR4_PGE),        \
                          "r" (mmu_cr4_features)                        \
                        : "memory");                                    \