]> git.neil.brown.name Git - history.git/commitdiff
2.0.36pre11 2.0.36pre11
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 23 Nov 2007 20:12:00 +0000 (15:12 -0500)
committerAlan Cox <alan@lxorguk.ukuu.org.uk>
Fri, 23 Nov 2007 20:12:00 +0000 (15:12 -0500)
Its on ftp.linux.org.uk:/pub/linux/alan

The only additional fixes of note are
o       Bridge+alias memory leak
o       ARP handling on promisc
o       Typo fixe

Alan

39 files changed:
Documentation/Configure.help
Documentation/cdrom/aztcd
Documentation/filesystems/vfat.txt
arch/alpha/kernel/lca.c
arch/alpha/kernel/smc.c
arch/m68k/boot/amiga/bootstrap.c
drivers/block/ide-tape.c
drivers/block/ide.c
drivers/block/ide.h
drivers/char/apm_bios.c
drivers/char/ftape/ecc.c
drivers/isdn/isdn_net.c
drivers/net/Changelog.tlan
drivers/net/Makefile
drivers/net/README.eql
drivers/net/apricot.c
drivers/net/de4x5.c
drivers/net/eepro100.c
drivers/net/hp100.c
drivers/net/ibmtr.c
drivers/net/strip.c
drivers/net/tlan.c
drivers/net/tulip.c
drivers/net/wavelan.c
drivers/scsi/README.aic7xxx
drivers/scsi/README.ncr53c8xx
drivers/scsi/eata_dma.c
drivers/scsi/ncr53c8xx.c
fs/locks.c
include/asm-mips/ioctl.h
include/asm-mips/mipsregs.h
include/linux/genhd.h
include/linux/types.h
include/linux/wireless.h
init/main.c
net/bridge/br.c
net/core/firewall.c
net/ipv4/arp.c
net/ipv4/tcp.c

index 2faf1c22cecbfb09100bcf22ac824850bebf8f9e..680ad98b730e287bad2a7bb5a17c3fca3f5572fa 100644 (file)
@@ -935,16 +935,28 @@ CONFIG_BINFMT_JAVA
 
 Processor type
 CONFIG_M386
-  This is the processor type of your CPU. It is used for optimizing
-  purposes. In order to compile a kernel that can run on all CPU types
-  (albeit not optimally fast), you can specify "386" here.  If you
-  specify "486" or "Pentium" or "PPro", then the kernel will run on
-  486 and Pentium (=586) and Pentium Pro (=686) CPUs. In rare cases,
-  it can make sense to specify "Pentium" even if running a 486: the
-  kernel will be smaller but slower. On the other hand, if you use a
-  compiler before gcc 2.7 (say "gcc -v" to find out), then you have to
-  say "386" or "486" here even if running on a Pentium or PPro
-  machine. If you don't know what to do, say "386".
+  This is the processor type of your CPU.  It is used for optimizing
+  purposes.  In order to compile a kernel that can run on all CPU
+  types (albeit not optimally fast), you can specify "386" here.  If
+  you specify "486" or "Pentium" or "PPro", then the kernel will run
+  on all of these CPUs: 486 and Pentium (=586) and Pentium Pro (=686).
+  Here are the settings recommended for greatest speed:
+   - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX and
+     Cyrix/TI 486DLC/DLC2. Only "386" kernels will run on a 386 class
+     machine.
+   - "486" for the AMD/Cyrix/IBM/Intel DX4 or 486DX/DX2/SL/SX/SX2,
+     AMD/Cyrix 5x86, NexGen Nx586 and UMC U5D or U5S
+   - "Pentium" for the AMD K5, K6 and K6-3D, Cyrix MediaGX,
+     Cyrix/IBM/National Semiconductor 6x86 and GXm, IDT Centaur
+     WinChip C6, and Intel Pentium/Pentium MMX
+   - "PPro" for the Cyrix/IBM/National Semiconductor 6x86MX, MII and Intel
+     Pentium II/Pentium Pro
+  In rare cases, it can make sense to specify "Pentium" even if
+  running a 486: the kernel will be smaller but slightly slower.  On the other
+  hand, if you use a compiler before gcc 2.7 (say "gcc -v" to find
+  out), then you have to say "386" or "486" here even if running on
+  a Pentium or PPro machine.
+  If you don't know what to do, say "386".
 
 Compile the kernel into the ELF object format
 CONFIG_ELF_KERNEL
index a0832d340a1bdd8662fb0b1613f4a383036958b2..8536feaaab373488e5d814080b37b5304c24cb08 100644 (file)
@@ -43,12 +43,12 @@ Contents of this file:
 1. NOTE 
 This software has been successfully in alpha and beta test and is part of
 the standard kernel since kernel 1.1.8x since December 1994. It works with
-with AZTECH CDA268-01A, ORCHID CDS-3110, ORCHID/WEARNES CDD110 and
-CONRAD TXC (Nr.99 31 23 -series 04) and has proven to be stable with kernel 
-versions 1.0.9 to 1.3.72. But with any software there still may be bugs in it. 
-So if you encounter problems, you are invited to help us improve this software. 
-Please send me a detailed bug report (see chapter BUG REPORTS). You are also 
-invited in helping us to increase the number of drives, which are supported.
+AZTECH CDA268-01A, ORCHID CDS-3110, ORCHID/WEARNES CDD110 and CONRAD TXC
+(Nr.99 31 23 -series 04) and has proven to be stable with kernel versions 1.0.9
+to 1.3.72. But with any software there still may be bugs in it. So if you
+encounter problems, you are invited to help us improve this software. Please
+send me a detailed bug report (see chapter BUG REPORTS). You are also invited
+in helping us to increase the number of drives, which are supported.
 
 Please read the README-files carefully and always keep a backup copy of your 
 old kernel, in order to reboot if something goes wrong!
index dae08b4527e20eb6dfdfbc77113d9e7620c21009..17cf33feecc4f25dc0e6b47cf2851b3da0b295b5 100644 (file)
@@ -18,7 +18,7 @@ iocharset=name-- Character set to use for converting between 8 bit characters
                 know how to deal with Unicode. There is also an option of
                 doing UTF8 translations with the utf8 option.
 utf8         -- UTF8 is the filesystem safe version of Unicode that
-                is used by the console.  It can be be enabled for the
+                is used by the console.  It can be enabled for the
                 filesystem with this option. If 'uni_xlate' gets set,
                 UTF8 gets disabled.
 uni_xlate     -- Translate unhandled Unicode characters to special
index 71100c8c6256af1723c0c0559059f9826ee0c2a1..cc1e0f9da1c2d4a7930e6af0820f19139bded543 100644 (file)
@@ -455,7 +455,7 @@ void lca_machine_check (unsigned long vector, unsigned long la, struct pt_regs *
              case MCHK_K_OS_BUGCHECK:  reason = "callsys in kernel mode"; break;
              case MCHK_K_DCPERR:       reason = "d-cache parity error"; break;
              case MCHK_K_ICPERR:       reason = "i-cache parity error"; break;
-             case MCHK_K_SIO_SERR:     reason = "SIO SERR occurred on on PCI bus"; break;
+             case MCHK_K_SIO_SERR:     reason = "SIO SERR occurred on PCI bus"; break;
              case MCHK_K_SIO_IOCHK:    reason = "SIO IOCHK occurred on ISA bus"; break;
              case MCHK_K_DCSR:         reason = "MCHK_K_DCSR"; break;
              case MCHK_K_UNKNOWN:
index ae9f5d8065d7fc900f69847e1fb3b4975aa94769..8537814c371425d765cb913f16a27d1fa896973c 100644 (file)
@@ -1967,7 +1967,7 @@ unsigned int SMC37c669_disable_device ( unsigned int func )
 **     the configuration is also updated.  If the device function
 **     is currently disabled, only the local shadow copy is 
 **     updated and the actual device function will be updated
-**     if/when is is enabled.
+**     if/when it is enabled.
 **
 **--
 */
index 8f9ced5619965ef7c66aa4cfb51c4066867e7ef3..ea839f27e10430be3f60859ea9973e80d08a1d18 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ** bootstrap.c -- This program loads the Linux/68k kernel into an Amiga
-**                and and launches it.
+**                and launches it.
 **
 ** Copyright 1993,1994 by Hamish Macdonald, Greg Harp
 **
index db84c3058206365bbeb94a7b9e89ebb1017de539..c034d0fe64d13ed1252ab2fddb789c1cc678cbcf 100644 (file)
@@ -42,7 +42,7 @@
  * flag, can be configured by issuing an ioctl to the block device interface,
  * as any other ide device.
  *
- * Our own ide-tape ioctl's can can be issued to either the block device or
+ * Our own ide-tape ioctl's can be issued to either the block device or
  * the character device interface.
  *
  * Maximal throughput with minimal bus load will usually be achieved in the
  *             loop which checks if the pipeline is empty, and if it is, we
  *             increase the maximum number of stages as necessary until we
  *             reach the optimum value which just manages to keep the tape
- *             busy with with minimum allocated memory or until we reach
+ *             busy with minimum allocated memory or until we reach
  *             IDETAPE_MAX_PIPELINE_STAGES.
  *
  * Concerning (2):
index bb547454aa3a3f78a5913421cec4e26f00441896..90f21b48e330db8f9b333d6a33275e63aba22fc1 100644 (file)
@@ -1908,9 +1908,9 @@ void ide_init_drive_cmd (struct request *rq)
  * This function issues a special IDE device request
  * onto the request queue.
  *
- * If action is ide_wait, then then rq is queued at the end of
- * the request queue, and the function sleeps until it has been
- * processed.  This is for use when invoked from an ioctl handler.
+ * If action is ide_wait, then the rq is queued at the end of the
+ * request queue, and the function sleeps until it has been processed.
+ * This is for use when invoked from an ioctl handler.
  *
  * If action is ide_preempt, then the rq is queued at the head of
  * the request queue, displacing the currently-being-processed
index 4d75439b4fc7afff9e6dedc7c485083775f6f409..5310ac8f92b9198b8534eea644b1808a5534cb99 100644 (file)
@@ -605,9 +605,9 @@ typedef enum
  * This function issues a special IDE device request
  * onto the request queue.
  *
- * If action is ide_wait, then then rq is queued at the end of
- * the request queue, and the function sleeps until it has been
- * processed.  This is for use when invoked from an ioctl handler.
+ * If action is ide_wait, then the rq is queued at the end of the
+ * request queue, and the function sleeps until it has been processed.
+ * This is for use when invoked from an ioctl handler.
  *
  * If action is ide_preempt, then the rq is queued at the head of
  * the request queue, displacing the currently-being-processed
index 53d2d0db1ac6796775615dabb325d0fa8bdf2b6c..1f75efbc4e3bd9befbb97892ce55daf98430f523 100644 (file)
@@ -1110,6 +1110,16 @@ int apm_get_info(char *buf, char **start, off_t fpos, int length, int dummy)
 }
 #endif
 
+static int apm_disabled = 0;
+
+void apm_setup(char *str, int *ints)
+{
+       if(strcmp(str,"off")==0)
+               apm_disabled=1;
+       if(strcmp(str,"on")==0)
+               apm_disabled=0;
+}
+
 void apm_bios_init(void)
 {
        unsigned short  bx;
@@ -1118,6 +1128,12 @@ void apm_bios_init(void)
        unsigned short  error;
        char *          power_stat;
        char *          bat_stat;
+       
+       if (apm_disabled == 1)
+       {
+               printk("APM disabled.\n");
+               return;
+       }
 
        if (apm_bios_info.version == 0) {
                printk("APM BIOS not found.\n");
index 8898f677178a230d8285db8d90231417094eeb9a..d06d5cbb42bcf8445e6e8a7c936e79c222247e9d 100644 (file)
@@ -80,7 +80,7 @@ unsigned char ftape_trace_id = 0;
  * Notice: to minimize the potential for confusion, we use r to
  *         denote the independent variable of the polynomials
  *         in the Galois Field GF(2^8).  We reserve x for polynomials
- *         that that have coefficients in GF(2^8).
+ *         that have coefficients in GF(2^8).
  *         
  * The Galois Field in which coefficient arithmetic is performed are
  * the polynomials over Z_2 (i.e., 0 and 1) modulo the irreducible
index c193a38ec588eb6befcc3c123b3d220a89e86284..07571cf121f8e5f6566636a9708acdb6d706b9fa 100644 (file)
@@ -885,7 +885,7 @@ isdn_net_log_packet(u_char * buf, isdn_net_local * lp)
 
 /*
  * Generic routine to send out an skbuf.
- * If lowlevel-device does not support supports skbufs, use
+ * If lowlevel-device does not support skbufs, use
  * standard send-routine, else send directly.
  *
  * Return: 0 on success, !0 on failure.
index 846c1dd9d72b4b20a905f04dac40f1a7f6ed9362..f7b278527f75b71d9526a43e62845d41e4f81d07 100644 (file)
@@ -69,7 +69,7 @@ TLan Device Driver change log.
          100Mbs should work now on 0xAE32.
        - Fixed a small bug where heartbeat and PHY interrupts were
          always being enabled.
-       - Force the the driver into Unmanaged PHY mode for 0xF130 devices,
+       - Force the driver into Unmanaged PHY mode for 0xF130 devices,
          even if a managed (ie, the built-in one) PHY is detected.
        - Moved the PHY initialization to after the onboard PHY is enabled,
          if selected.
index 27b4200716286fde58627bc284ac563c02505ad7..ce4e77944137d18ada6ede6d3033baa4f600ed9f 100644 (file)
@@ -3,7 +3,7 @@
 # Makefile for the Linux network (ethercard) device drivers.
 #
 
-# This will go away in some future future: hidden configuration files
+# This will go away in some future: hidden configuration files
 # are difficult for users to deal with.
 include CONFIG
 
index 08cded5980d4e098f1638c28157862ed64f0701b..a36c45ad189720a3761ff9030a099ac8811ecf46 100644 (file)
   5.  Tester's Reports
 
   Some people have experimented with the eql device with newer kernels
-  kernels (than 1.1.75).  I have since updated the driver to patch
-  cleanly in newer kernels because of the removal of the old "slave-
-  balancing" driver config option.
+  (than 1.1.75).  I have since updated the driver to patch cleanly in
+  newer kernels because of the removal of the old "slave-balancing"
+  driver config option.
 
 
   o  icee from LinuxNET patched 1.1.86 without any rejects and was able
index a20a9f65442660dc95b5691f97a3336d70351a01..12db88ba63a1f57d2645d4c0a7ce63da7609bc76 100644 (file)
@@ -930,7 +930,7 @@ i596_close(struct device *dev)
     while (lp->scb.status, lp->scb.command)
        if (--boguscnt == 0)
        {
-           printk("%s: close timed timed out with status %4.4x, cmd %4.4x.\n",
+           printk("%s: close timed out with status %4.4x, cmd %4.4x.\n",
                   dev->name, lp->scb.status, lp->scb.command);
            break;
        }
index 1b641b1e11dfac499effff9f21e8e1768f9afb7b..21b3497240d6a6242af02b02baa9165831254358 100644 (file)
@@ -1563,7 +1563,7 @@ de4x5_interrupt(int irq, void *dev_id, struct pt_regs *regs)
     lp = (struct de4x5_private *)dev->priv;
     iobase = dev->base_addr;
        
-    if (test_and_set_bit(0, (void*) &dev->interrupt))
+    if (dev->interrupt)
       printk("%s: Re-entering the interrupt handler.\n", dev->name);
        
     DISABLE_IRQs;                        /* Ensure non re-entrancy */
index a6f8b3adc5ec69a6c3c9c78ba3536475388e8d05..4e6db4595a6bdf3b1cbe91fd3fd6267da2bc4456 100644 (file)
@@ -181,10 +181,10 @@ Note: Watch out for the potential race condition here: imagine
        doing the CU_RESUME
                the chip processes the next-yet-valid post-final-command.
 So blindly sending a CU_RESUME is only safe if we do it immediately after
-after erasing the previous CmdSuspend, without the possibility of an
-intervening delay.  Thus the resume command is always within the
-interrupts-disabled region.  This is a timing dependence, but handling this
-condition in a timing-independent way would considerably complicate the code.
+erasing the previous CmdSuspend, without the possibility of an intervening
+delay.  Thus the resume command is always within the interrupts-disabled
+region.  This is a timing dependence, but handling this condition in a
+timing-independent way would considerably complicate the code.
 
 Note: In previous generation Intel chips, restarting the command unit was a
 notoriously slow process.  This is presumably no longer true.
index 0f1bdd3c72d542ce7699f1a6dc69583700dc5081..7e440f3c17942f85432187a9e49cabd71df39efc 100644 (file)
@@ -1044,7 +1044,7 @@ static void hp100_mmuinit( struct device *dev )
           
           /*
            * Each pdl is 508 bytes long. (63 frags * 4 bytes for address and
-           * 4 bytes for for header). We will leave NUM_RXPDLS * 508 (rounded
+           * 4 bytes for header). We will leave NUM_RXPDLS * 508 (rounded
            * to the next higher 1k boundary) bytes for the rx-pdl's
           * Note: For non-etr chips the transmit stop register must be
           * programmed on a 1k boundary, i.e. bits 9:0 must be zero. 
index 646972ad0d9154625d8ca69449a4352e86afc698..8392db0966e5c1fd30b09abbbe8ac1be2b0f9ab2 100644 (file)
@@ -439,9 +439,9 @@ int tok_probe(struct device *dev)
        /* We must figure out how much shared memory space this adapter
           will occupy so that if there are two adapters we can fit both
           in.  Given a choice, we will limit this adapter to 32K.  The
-          maximum space will will use for two adapters is 64K so if the
-          adapter we are working on demands 64K (it also doesn't support
-          paging), then only one adapter can be supported.  */
+          maximum space will use for two adapters is 64K so if the adapter
+          we are working on demands 64K (it also doesn't support paging),
+          then only one adapter can be supported.  */
        
        /* determine how much of total RAM is mapped into PC space */
        ti->mapped_ram_size=1<<((((readb(ti->mmio+ ACA_OFFSET + ACA_RW + RRR_ODD)) >>2) & 0x03) + 4);
index f4df05bf77aae6d0470a4d5b7c85c405a2001b4a..6e535a7d0d5bd0a199f7af53ff386175fa85a5f7 100644 (file)
@@ -1712,7 +1712,7 @@ static int strip_rebuild_header(void *buff, struct device *dev,
 {
     struct strip *strip_info = (struct strip *)(dev->priv);
     STRIP_Header *header = (STRIP_Header *)buff;
-    /* Arp find returns zero if if knows the address, */
+    /* Arp find returns zero if it knows the address, */
     /* or if it doesn't know the address it sends an ARP packet and returns non-zero */
     int arp_result = arp_find(header->dst_addr.c, dst, dev, dev->pa_addr, skb);
 
index c25e97a0727ab2e34beb62e3b566f3b6df66fc2d..11e12bbca7e09442a958a34d6d666536a8344252 100644 (file)
@@ -1220,7 +1220,7 @@ u32 TLan_HandleStatOverflow( struct device *dev, u16 host_int )
         *      of the list.  If the frame was the last in the Rx
         *      channel (EOC), the function restarts the receive channel
         *      by sending an Rx Go command to the adapter.  Then it
-        *      activates/continues the the activity LED.
+        *      activates/continues the activity LED.
         *
         **************************************************************/
 
@@ -1721,7 +1721,7 @@ void TLan_FreeLists( struct device *dev )
         *              io_base         Base IO port of the device of
         *                              which to print DIO registers.
         *
-        *      This function prints out all the the internal (DIO)
+        *      This function prints out all the internal (DIO)
         *      registers of a TLAN chip.
         *
         **************************************************************/
index 42937fe5ab9c42da4f49afd50b82d29c39cb007d..4aba1af54e2886fb436f2d61e65eb9e299488205 100644 (file)
@@ -2409,7 +2409,7 @@ tulip_rx(struct device *dev)
                        if (status & 0x0001) tp->stats.rx_fifo_errors++;
                } else {
                        /* Omit the four octet CRC from the length. */
-                       short pkt_len = (status >> 16) - 4;
+                       short pkt_len = ((status >> 16) & 0x7FF) - 4;
                        struct sk_buff *skb;
 
                        /* Check if the packet is long enough to just accept without
index 034c88c3c9da0b83a3c51c4757ee9c6e252d8120..dbe88153e705da75b448a08253cde261acbc8b25 100644 (file)
@@ -2967,8 +2967,8 @@ wv_mmc_init(device *      dev)
   /* Attempt to recognise 2.00 cards (2.4 GHz frequency selectable)
    * (does it work for everybody? -- especially old cards?) */
   /* Note: WFREQSEL verifies that it is able to read a sensible
-   * frequency from from EEPROM (address 0x00) and that
-   * MMR_FEE_STATUS_ID is 0xA (Xilinx version) or 0xB (Ariadne version).
+   * frequency from EEPROM (address 0x00) and that MMR_FEE_STATUS_ID
+   * is 0xA (Xilinx version) or 0xB (Ariadne version).
    * My test is more crude but does work. */
   if(!(mmc_in(ioaddr, mmroff(0, mmr_fee_status)) &
        (MMR_FEE_STATUS_DWLD | MMR_FEE_STATUS_BUSY)))
index 783a21ba0b0250324c893571768d68e64212c25f..0fe83465b8aad4a5c89a44d3021d3c77eacaa962 100644 (file)
@@ -258,7 +258,7 @@ linux-1.1.x and fairly stable since linux-1.2.x, and are also in FreeBSD
     the system. Each file presents the current configuration and transfer
     statistics (enabled with #define in aic7xxx.c) for each controller.
 
-    Thanks to Michael Neuffer for for his upper-level SCSI help, and
+    Thanks to Michael Neuffer for his upper-level SCSI help, and
     Matthew Jacob for statistics support.
 
   FTP sites
index 4dab71b4a63e8022306ed27c7f3c3b8a5fe58b46..28e152367a4bb98b3dcd03733df368023c8e174a 100644 (file)
@@ -823,7 +823,7 @@ SCSI_NCR_SETUP_SPECIAL_FEATURES     (default: defined)
         For 810A, 860, 825A and 875 scsi chips, this option enables support 
         of features that reduce load of PCI bus and memory accesses during  
         scsi transfer processing: burst op-code fetch, read multiple, 
-        read line, prefetch, cache line line, write and invalidate, 
+        read line, prefetch, cache line, write and invalidate, 
         burst 128 (875 only), large dma fifo (875 only), offset 16 (875 only).
        Can be changed by the following boot setup command:
                ncr53c8xx=specf:n
index 41b91acb02cad25d4c3ba0ffb53a29648e9c0ef9..2b7da3db1c586d508e1e43e5de78e388a7286661 100644 (file)
@@ -547,7 +547,7 @@ int eata_queue(Scsi_Cmnd * cmd, void (* done) (Scsi_Cmnd *))
        ccb->DataIn = TRUE;     /* Input mode  */
     }
 
-    /* FIXME: This will will have to be changed once the midlevel driver 
+    /* FIXME: This will have to be changed once the midlevel driver 
      *        allows different HBA IDs on every channel.
      */
     if (cmd->target == sh->this_id) 
index 1a126a6876cd2ddcbd6fc41d0017af1636d55b7b..1be3d9fedf0b1ecacf2f3aeaaa12c7306e534933 100644 (file)
@@ -7655,7 +7655,7 @@ void ncr_int_sir (ncb_p np)
 **     field of the controller's struct ncb.
 **
 **     Possible cases:            hs  sir   msg_in value  send   goto
-**     We try try to negotiate:
+**     We try to negotiate:
 **     -> target doesnt't msgin   NEG FAIL  noop   defa.  -      dispatch
 **     -> target rejected our msg NEG FAIL  reject defa.  -      dispatch
 **     -> target answered  (ok)   NEG SYNC  sdtr   set    -      clrack
index ad1d9733f2eb2ef8f0cf1163096935f771b904ac..f16b8a4d2da1471ab9b1cfe44de7bb4b18b39729 100644 (file)
@@ -177,7 +177,7 @@ static inline int locks_overlap(struct file_lock *fl1, struct file_lock *fl2)
 /* Insert waiter into blocker's block list.
  * We use a circular list so that processes can be easily woken up in
  * the order they blocked. The documentation doesn't require this but
- * it seems seems like the reasonable thing to do.
+ * it seems like the reasonable thing to do.
  */
 static void locks_insert_block(struct file_lock *blocker, 
                               struct file_lock *waiter)
index af6fd89cc11cdfe35fdf57a4c969893426466385..49881440a61878a2c692ea202fdcb8035ac2c7eb 100644 (file)
@@ -11,7 +11,7 @@
  * the process. I'd like to clean it up for the i386 as well, but
  * it's so painful recognizing both the new and the old numbers..
  *
- * The same applies for for the MIPS ABI; in fact even the macros
+ * The same applies for the MIPS ABI; in fact even the macros
  * from Linux/Alpha fit almost perfectly.
  */
 
index 96b9ba21325b929537db16bb3070af6b9d6930ed..2d160177e16b76cdd2a76d3caa740f842d71d92f 100644 (file)
@@ -238,7 +238,7 @@ BUILD_SET_CP0(cause,CP0_CAUSE)
 /*
  * Bitfields and bit numbers in the coprocessor 0 cause register.
  *
- * Refer to to your MIPS R4xx0 manual, chapter 5 for explanation.
+ * Refer to your MIPS R4xx0 manual, chapter 5 for explanation.
  */
 #define  CAUSEB_EXCCODE                2
 #define  CAUSEF_EXCCODE                (31  <<  2)
index 8075af6a558a394e55a0c402393930236f028a95..dafeff775e94d97a975f6df4f7cccdcc3ec850fc 100644 (file)
@@ -43,7 +43,8 @@ struct partition {
        unsigned char end_cyl;          /* end cylinder */
        unsigned int start_sect;        /* starting sector counting from 0 */
        unsigned int nr_sects;          /* nr of sectors in partition */
-};
+} __attribute((packed));       /* Give a polite hint to egcs/alpha to generate
+                                  unaligned operations */
 
 struct hd_struct {
        long start_sect;
index 504b8657b0c29418b86de50366ff3c26df1191f0..0b9999f0a92e704844914883684cfdecc802e8b9 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef _LINUX_TYPES_H
 #define _LINUX_TYPES_H
 
+#ifdef __i386__
 #if defined(__KERNEL__) && !defined(STDC_HEADERS)
 #if ((__GNUC_MINOR__ >= 8) || (__GNUC_MAJOR >=3))
 #warning "This code is tested with gcc 2.7.2.x only. Using egcs/gcc 2.8.x needs"
@@ -10,6 +11,7 @@
 #error "Remove this if you have applied the gcc 2.8/egcs patches and wish to use them"
 #endif
 #endif
+#endif
 
 #include <linux/posix_types.h>
 #include <asm/types.h>
index b15f2a0db02f3f14bc03e600c77ae98f843c19db..a368355588809230a33c7b0b7c3855aa923cdd47 100644 (file)
@@ -245,7 +245,7 @@ struct      iwreq
                /* Name : used to verify the presence of  wireless extensions.
                 * Name of the protocol/provider... */
 
-               struct          /* network id (or domain) : used to to */
+               struct          /* network id (or domain) : used to */
                {               /* create logical channels on the air */
                        __u32   nwid;           /* value */
                        __u8    on;             /* active/unactive nwid */
index 44d5a78287c95aa7bb0b8d9157bfb78c42776c3b..d41ec60c9da8cbb0ce3fa21cab3e6c2bb1df57b8 100644 (file)
@@ -107,6 +107,7 @@ extern void wd7000_setup(char *str, int *ints);
 extern void ppa_setup(char *str, int *ints);
 extern void scsi_luns_setup(char *str, int *ints);
 extern void sound_setup(char *str, int *ints);
+extern void apm_setup(char *str, int *ints);
 extern void reboot_setup(char *str, int *ints);
 #ifdef CONFIG_CDU31A
 extern void cdu31a_setup(char *str, int *ints);
@@ -466,6 +467,9 @@ struct kernel_param bootsetups[] = {
 #endif
 #ifdef CONFIG_BAYCOM
        { "baycom=", baycom_setup },
+#endif
+#ifdef CONFIG_APM
+       { "apm=", apm_setup },
 #endif
        { 0, 0 }
 };
index 5bf007792c4a4acdcd5395cde6eaa51de0d58337..64dab8cf93105d2c8d26a925fb69e92544a1e9b0 100644 (file)
@@ -921,10 +921,7 @@ unsigned long flags;
        skb->pkt_bridged = IS_BRIDGED;
        skb->arp = 1;   /* do not resolve... */
        skb->h.raw = skb->data + ETH_HLEN;
-       save_flags(flags);
-       cli();
-       skb_queue_tail(dev->buffs, skb);
-       restore_flags(flags);
+       dev_queue_xmit(dev,skb);
        return(0);
 }
 
@@ -977,10 +974,8 @@ unsigned long flags;
        skb->pkt_bridged = IS_BRIDGED;
        skb->arp = 1;   /* do not resolve... */
        skb->h.raw = skb->data + ETH_HLEN;
-       save_flags(flags);
-       cli();
-       skb_queue_tail(dev->buffs, skb);
-       restore_flags(flags);
+       
+       dev_queue_xmit(dev,skb);
        return(0);
 }
 
index a57f67eaf23c20f0524c48f4e98d276e9388b199..18bb37982d5b7f371fdc72bb19e2a278a2b225c4 100644 (file)
@@ -6,6 +6,7 @@
  *     much hacked by: Alan Cox
  */
 
+#include <linux/config.h>
 #include <linux/module.h> 
 #include <linux/skbuff.h>
 #include <linux/firewall.h>
index d75af1d4f616f266ad87cf6aa5a96a9ff99db788..5b4150ce6b154c6f5c32c54c4c23a31ecb44afcd 100644 (file)
@@ -1771,6 +1771,12 @@ int arp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
        unsigned char *sha,*tha;
        u32 sip,tip;
 
+       if(skb->pkt_type == PACKET_OTHERHOST)
+       {
+               kfree_skb(skb, FREE_READ);
+               return;
+       }
+       
 /*
  *     The hardware length of the packet should match the hardware length
  *     of the device.  Similarly, the hardware types should match.  The
index 8ac1c36a33099b4bbfbbc9511304b4e49014a009..0210b29d8910e21927d58a79f58c992ec6477d1b 100644 (file)
@@ -516,7 +516,7 @@ static __inline__ int tcp_lport_inuse(int num)
  * load is kept track of, if it is zero there is a strong
  * likely hood that there is a zero length chain we will
  * find with a small amount of searching, else the load is
- * what we shoot for for when the chains all have at least
+ * what we shoot for when the chains all have at least
  * one entry.  The base helps us walk the chains in an
  * order such that a good chain is found as quickly as possible.  -DaveM
  */