From c429ee6c0740de1820cc4c3fcb3e2fa37b7fcafb Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Fri, 23 Nov 2007 15:12:00 -0500 Subject: [PATCH] 2.0.36pre11 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 --- Documentation/Configure.help | 32 ++++++++++++++++++++---------- Documentation/cdrom/aztcd | 12 +++++------ Documentation/filesystems/vfat.txt | 2 +- arch/alpha/kernel/lca.c | 2 +- arch/alpha/kernel/smc.c | 2 +- arch/m68k/boot/amiga/bootstrap.c | 2 +- drivers/block/ide-tape.c | 4 ++-- drivers/block/ide.c | 6 +++--- drivers/block/ide.h | 6 +++--- drivers/char/apm_bios.c | 16 +++++++++++++++ drivers/char/ftape/ecc.c | 2 +- drivers/isdn/isdn_net.c | 2 +- drivers/net/Changelog.tlan | 2 +- drivers/net/Makefile | 2 +- drivers/net/README.eql | 6 +++--- drivers/net/apricot.c | 2 +- drivers/net/de4x5.c | 2 +- drivers/net/eepro100.c | 8 ++++---- drivers/net/hp100.c | 2 +- drivers/net/ibmtr.c | 6 +++--- drivers/net/strip.c | 2 +- drivers/net/tlan.c | 4 ++-- drivers/net/tulip.c | 2 +- drivers/net/wavelan.c | 4 ++-- drivers/scsi/README.aic7xxx | 2 +- drivers/scsi/README.ncr53c8xx | 2 +- drivers/scsi/eata_dma.c | 2 +- drivers/scsi/ncr53c8xx.c | 2 +- fs/locks.c | 2 +- include/asm-mips/ioctl.h | 2 +- include/asm-mips/mipsregs.h | 2 +- include/linux/genhd.h | 3 ++- include/linux/types.h | 2 ++ include/linux/wireless.h | 2 +- init/main.c | 4 ++++ net/bridge/br.c | 11 +++------- net/core/firewall.c | 1 + net/ipv4/arp.c | 6 ++++++ net/ipv4/tcp.c | 2 +- 39 files changed, 106 insertions(+), 69 deletions(-) diff --git a/Documentation/Configure.help b/Documentation/Configure.help index 2faf1c22cecb..680ad98b730e 100644 --- a/Documentation/Configure.help +++ b/Documentation/Configure.help @@ -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 diff --git a/Documentation/cdrom/aztcd b/Documentation/cdrom/aztcd index a0832d340a1b..8536feaaab37 100644 --- a/Documentation/cdrom/aztcd +++ b/Documentation/cdrom/aztcd @@ -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! diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt index dae08b4527e2..17cf33feecc4 100644 --- a/Documentation/filesystems/vfat.txt +++ b/Documentation/filesystems/vfat.txt @@ -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 diff --git a/arch/alpha/kernel/lca.c b/arch/alpha/kernel/lca.c index 71100c8c6256..cc1e0f9da1c2 100644 --- a/arch/alpha/kernel/lca.c +++ b/arch/alpha/kernel/lca.c @@ -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: diff --git a/arch/alpha/kernel/smc.c b/arch/alpha/kernel/smc.c index ae9f5d8065d7..8537814c3714 100644 --- a/arch/alpha/kernel/smc.c +++ b/arch/alpha/kernel/smc.c @@ -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. ** **-- */ diff --git a/arch/m68k/boot/amiga/bootstrap.c b/arch/m68k/boot/amiga/bootstrap.c index 8f9ced561996..ea839f27e104 100644 --- a/arch/m68k/boot/amiga/bootstrap.c +++ b/arch/m68k/boot/amiga/bootstrap.c @@ -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 ** diff --git a/drivers/block/ide-tape.c b/drivers/block/ide-tape.c index db84c3058206..c034d0fe64d1 100644 --- a/drivers/block/ide-tape.c +++ b/drivers/block/ide-tape.c @@ -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 @@ -261,7 +261,7 @@ * 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): diff --git a/drivers/block/ide.c b/drivers/block/ide.c index bb547454aa3a..90f21b48e330 100644 --- a/drivers/block/ide.c +++ b/drivers/block/ide.c @@ -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 diff --git a/drivers/block/ide.h b/drivers/block/ide.h index 4d75439b4fc7..5310ac8f92b9 100644 --- a/drivers/block/ide.h +++ b/drivers/block/ide.h @@ -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 diff --git a/drivers/char/apm_bios.c b/drivers/char/apm_bios.c index 53d2d0db1ac6..1f75efbc4e3b 100644 --- a/drivers/char/apm_bios.c +++ b/drivers/char/apm_bios.c @@ -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"); diff --git a/drivers/char/ftape/ecc.c b/drivers/char/ftape/ecc.c index 8898f677178a..d06d5cbb42bc 100644 --- a/drivers/char/ftape/ecc.c +++ b/drivers/char/ftape/ecc.c @@ -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 diff --git a/drivers/isdn/isdn_net.c b/drivers/isdn/isdn_net.c index c193a38ec588..07571cf121f8 100644 --- a/drivers/isdn/isdn_net.c +++ b/drivers/isdn/isdn_net.c @@ -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. diff --git a/drivers/net/Changelog.tlan b/drivers/net/Changelog.tlan index 846c1dd9d72b..f7b278527f75 100644 --- a/drivers/net/Changelog.tlan +++ b/drivers/net/Changelog.tlan @@ -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. diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 27b420071628..ce4e77944137 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -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 diff --git a/drivers/net/README.eql b/drivers/net/README.eql index 08cded5980d4..a36c45ad1897 100644 --- a/drivers/net/README.eql +++ b/drivers/net/README.eql @@ -257,9 +257,9 @@ 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 diff --git a/drivers/net/apricot.c b/drivers/net/apricot.c index a20a9f654426..12db88ba63a1 100644 --- a/drivers/net/apricot.c +++ b/drivers/net/apricot.c @@ -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; } diff --git a/drivers/net/de4x5.c b/drivers/net/de4x5.c index 1b641b1e11df..21b3497240d6 100644 --- a/drivers/net/de4x5.c +++ b/drivers/net/de4x5.c @@ -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 */ diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index a6f8b3adc5ec..4e6db4595a6b 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c @@ -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. diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c index 0f1bdd3c72d5..7e440f3c1794 100644 --- a/drivers/net/hp100.c +++ b/drivers/net/hp100.c @@ -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. diff --git a/drivers/net/ibmtr.c b/drivers/net/ibmtr.c index 646972ad0d91..8392db0966e5 100644 --- a/drivers/net/ibmtr.c +++ b/drivers/net/ibmtr.c @@ -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); diff --git a/drivers/net/strip.c b/drivers/net/strip.c index f4df05bf77aa..6e535a7d0d5b 100644 --- a/drivers/net/strip.c +++ b/drivers/net/strip.c @@ -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); diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c index c25e97a0727a..11e12bbca7e0 100644 --- a/drivers/net/tlan.c +++ b/drivers/net/tlan.c @@ -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. * **************************************************************/ diff --git a/drivers/net/tulip.c b/drivers/net/tulip.c index 42937fe5ab9c..4aba1af54e28 100644 --- a/drivers/net/tulip.c +++ b/drivers/net/tulip.c @@ -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 diff --git a/drivers/net/wavelan.c b/drivers/net/wavelan.c index 034c88c3c9da..dbe88153e705 100644 --- a/drivers/net/wavelan.c +++ b/drivers/net/wavelan.c @@ -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))) diff --git a/drivers/scsi/README.aic7xxx b/drivers/scsi/README.aic7xxx index 783a21ba0b02..0fe83465b8aa 100644 --- a/drivers/scsi/README.aic7xxx +++ b/drivers/scsi/README.aic7xxx @@ -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 diff --git a/drivers/scsi/README.ncr53c8xx b/drivers/scsi/README.ncr53c8xx index 4dab71b4a63e..28e152367a4b 100644 --- a/drivers/scsi/README.ncr53c8xx +++ b/drivers/scsi/README.ncr53c8xx @@ -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 diff --git a/drivers/scsi/eata_dma.c b/drivers/scsi/eata_dma.c index 41b91acb02ca..2b7da3db1c58 100644 --- a/drivers/scsi/eata_dma.c +++ b/drivers/scsi/eata_dma.c @@ -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) diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index 1a126a6876cd..1be3d9fedf0b 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c @@ -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 diff --git a/fs/locks.c b/fs/locks.c index ad1d9733f2eb..f16b8a4d2da1 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -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) diff --git a/include/asm-mips/ioctl.h b/include/asm-mips/ioctl.h index af6fd89cc11c..49881440a618 100644 --- a/include/asm-mips/ioctl.h +++ b/include/asm-mips/ioctl.h @@ -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. */ diff --git a/include/asm-mips/mipsregs.h b/include/asm-mips/mipsregs.h index 96b9ba21325b..2d160177e16b 100644 --- a/include/asm-mips/mipsregs.h +++ b/include/asm-mips/mipsregs.h @@ -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) diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 8075af6a558a..dafeff775e94 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h @@ -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; diff --git a/include/linux/types.h b/include/linux/types.h index 504b8657b0c2..0b9999f0a92e 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -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 #include diff --git a/include/linux/wireless.h b/include/linux/wireless.h index b15f2a0db02f..a36835558880 100644 --- a/include/linux/wireless.h +++ b/include/linux/wireless.h @@ -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 */ diff --git a/init/main.c b/init/main.c index 44d5a78287c9..d41ec60c9da8 100644 --- a/init/main.c +++ b/init/main.c @@ -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 } }; diff --git a/net/bridge/br.c b/net/bridge/br.c index 5bf007792c4a..64dab8cf9310 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c @@ -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); } diff --git a/net/core/firewall.c b/net/core/firewall.c index a57f67eaf23c..18bb37982d5b 100644 --- a/net/core/firewall.c +++ b/net/core/firewall.c @@ -6,6 +6,7 @@ * much hacked by: Alan Cox */ +#include #include #include #include diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index d75af1d4f616..5b4150ce6b15 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -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 diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 8ac1c36a3309..0210b29d8910 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -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 */ -- 2.39.5