Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

Advertisement
[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Advertisement

Change log for patch v2.5.40

Summary of changes from v2.5.39 to v2.5.40
============================================

<rmk@flint.arm.linux.org.uk>
   [ARM] Add Thumb syscall stubs and drop gcc asm workarounds.
   Add support for Thumb stubs (for klibc.)
   We drop a work-around for early gcc versions where register
   variables didn't work as expected; this allows us to get rid
   of several lines of ASM per syscall.

<rmk@flint.arm.linux.org.uk>
   [ARM] Move PHYS_TO_NID() to asm/memory.h
   When CONFIG_DISCONTIGMEM=n, we define PHYS_TO_NID(x) to zero in each
   architecture specific file.  This cset moves it into the generic
   ARM code.  

<rmk@flint.arm.linux.org.uk>
   [ARM] Put back the CPU MM context switch avoidence test.
   On context switch, when the MM hasn't changed, we can avoid calling
   the architecture specific area.

<rmk@flint.arm.linux.org.uk>
   [ARM] Thumb fixes
   This cset fixes a set of problems discovered while developing KLIBC
   with Thumb support.  We now allow pure Thumb executables, and prevent
   such executables from being run on non-Thumb code aware CPUs.
   We also fix a bug in the fixup of Thumb late aborts which rather
   messed things up.

<rmk@flint.arm.linux.org.uk>
   [ARM] Always decend into compressed and bootp subdirectories.
   Make was missing the need to rebuild the kernel decompressor when
   files in arch/arm/boot/compressed are changed.  This is because
   make believes that the object contained within is up to date
   (because it doesn't know any better.)  This cset always forces us
   to decend into these two directories if the objects inside these
   are required.

<rmk@flint.arm.linux.org.uk>
   [ARM] Make "bootp" Image generation know that the zImage is now PIC.
   Since a bootp image contains a zImage and an initrd (or maybe later
   an initramfs) image, and the zImage is now PIC, we don't have to
   copy the zImage to a specific address before calling it.  We just
   call it where it got loaded into memory and let it sort itself out.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix XScale "feature"
   XScale does not guarantee that CPU control register writes complete
   their side effects immediately.  In fact, Intel give sample code to
   demonstrate a way to ensure that the effect of the write has occurred.
   This is specific to Xscale, but the fix should work on any ARM CPU.
   We therefore jump through the loops in "spirit" but not necessarily
   in exactly the same way as the sample code.

<rmk@flint.arm.linux.org.uk>
   Since irq_exit() now deals with softirqs, irq_enter and irq_exit
   must be located at the top level of the interrupt handler.

<rmk@flint.arm.linux.org.uk>
   [ARM] Remove old AMBA KMI driver information.
   We now have an input layer driver for the keyboard/mouse, so this
   isn't required.

<ch@hpl.hp.com>
   [ARM PATCH] 1255/1: [PATCH] SA-1111 PCI support for USB
   Fixes several oopsen in the SA-1111 "fake" PCI support
   
   Complete re-write of the SA-1111 DMA bug "bounce buffer" workaround.
   
   Merge latest drivers/pci/pool.c into mach-sa1100/pcipool.c (pool
   allocation debugging follows CONFIG_DEBUG_SLAB a la drivers/pci/pool.c)
   
   /arch/arm/mach-sa1100/pcipool.h can be deleted
   (unrelated: /arch/arm/mach-sa1100/sa1111-ohci.c can be deleted)
   
   Applies to 2.5.30-rmk1.  Should be back ported to 2.4 as the existing
   SA-1111 bounce buffer code is broken.
   
   (This patch is *required* for the OHCI HCD driver that is part of 2.5.21+.)

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix up initcall ordering
   ARM machine support gets initialised too late in the initialisation
   order and can cause some things to unexpectedly fail.  Fix the
   ordering of these initcalls by placing them in the core and arch
   initcall sections.

<rmk@flint.arm.linux.org.uk>
   [ARM] Provide hook for FP emulators to know when a new thread is created
   This allows FP emulators to take their FP initialisation out of the
   hot path.

<rmk@flint.arm.linux.org.uk>
   [ARM] Move machine config questions into machine class subdirs
   This cset moves a fair amount of per-machine questions into their
   relevant machine class subdirectory, making arch/arm/config.in
   easier on the eyes.

<jeffs@accelent.com>
   [ARM PATCH] 1238/1: Accelent PXA IDP config cleanups
   This patch brings support for the PXA-IDP up to 2.5.30, plus adds
   support in head.S for low level serial debugging support.

<rmk@flint.arm.linux.org.uk>
   [ARM] Update nwfpe to use new fp_init hook.
   Take FPA11_CheckInit out of the hot path, and use the fp_init hook
   instead.

<davem@nuts.ninka.net>
   [ALSA]: Add some missing includes.

<davem@nuts.ninka.net>
   [ALSA]: Fix ioctl32 build on sparc64.

<davem@nuts.ninka.net>
   [ALSA]: Add SBUS dma support.

<davem@nuts.ninka.net>
   [ALSA]: Add AMD7930 and CS4231 Sparc drivers.

<davem@nuts.ninka.net>
   [SPARC]: Blow away old sbus audio layer.

<davem@nuts.ninka.net>
   sound/i2c/i2c.c: Include linux/errno.h

<davem@nuts.ninka.net>
   sound/core/seq/seq_midi_emul.c: Include linux/string.h

<davem@nuts.ninka.net>
   sound/i2c/i2c.c: Include linux/string.h

<jdike@uml.karaya.com>
   UML updates to allow it to build and run as 2.5.38.

<jdike@uml.karaya.com>
   Cleaned up arch/um/Makefile and updated the ubd driver.

<jdike@uml.karaya.com>
   Trivial fix to the ubd driver.

<jdike@uml.karaya.com>
   One last fix to the ubd driver, allowing UML to boot.

<davem@nuts.ninka.net>
   sound/synth/util_mem.c: Include asm/semaphore.h

<davem@nuts.ninka.net>
   sound/synth/util_mem.c: Revert previous change.

<davem@nuts.ninka.net>
   include/sound/core.h: Always include linux/sched.h and asm/semaphore.h

<davem@nuts.ninka.net>
   sound/pci/emu10k1/emufx.c: Pass bitops pointer correctly.

<davem@nuts.ninka.net>
   [SPARC]: Comment out DBRI option/rules until driver is converted.

<davem@nuts.ninka.net>
   arch/sparc64/defconfig: Update.

<jdike@uml.karaya.com>
   Bumped EXTRAVERSION for the 2.4 fixes and highmem support.

<jdike@uml.karaya.com>
   Added highmem support.
   The UML initialization code marks memory that doesn't fit in the
   kernel's address space as highmem, and later sets up the UML data
   structures for it, and frees that memory to the mm system as highmem.

<davem@nuts.ninka.net>
   sound/sparc/cs4231.c: Fix probing bugs.
   - Only check compatible OBP property if ebus device
   name is audio
   - Fix ebus device ioremap args
   - Accept ID 0x0c as well as 0x0a
   - Fix explicit inb, replace with __cs4231_readb
   - Do not forget to set CS4231_FLAG_EBUS

<davem@nuts.ninka.net>
   [SPARC]: OOPS, ffs return value is off by one :-)

<davem@nuts.ninka.net>
   sound/sparc/cs4231.c: Fix register offsets.

<davem@nuts.ninka.net>
   sound/core/oss/mixer_oss.c: Use SIOC_{IN,OUT}

<alex_williamson@attbi.com>
   fs/partitions/sun.c: raid autodetect for sun disk labels

<jes@trained-monkey.org>
   acenic net drvr bug fix: remove '=' typo in intr mask argument to writel()

<acme@conectiva.com.br>
   [X25] simplify facility negotiation.

<acme@conectiva.com.br>
   [X25] fix thinko in x25_facilities

<nico@cam.org>
   [ARM PATCH] 1302/1: ARMv5 optimized findbit
   Question: is there any reason to do all this with byte access rather than 
   word access besides alignment issues?  Word access would be much faster.

<sam@mars.ravnborg.org>
   Remove unused clean: target in various makefiles
   Simple cleanup, kbuild does not use distributed clean target, so bettet get rid of them.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: cleanup ISDN net / ioctl code
   
   Try to convert the setup of network interfaces into something readable.
   In particular, use dummy inline functions to get rid of
   #ifdef CONFIG_ISDN_* spread all over the place everywhere and separate 
   stuff into smaller functions.

<rmk@flint.arm.linux.org.uk>
   [ARM] Don't continue to process pending interrupts after disable_irq()
   This solves a problem whereby the generic interrupt code repeatedly
   called an interrupt handler, even though the interrupt handler had
   called disable_irq().

<rmk@flint.arm.linux.org.uk>
   [ARM] Parse initrd information early
   We need the initrd location before the normal command line parsing
   occurs so we can reserve the right bits of memory, and not double-
   free the initrd during userspace boot.

<rmk@flint.arm.linux.org.uk>
   [ARM] Add DC21285 decompressor debug support

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move CISCO HDLCK protocol into separate file
   
   SyncPPP and X25 are already (kind of) separated, so do the same for CISCO
   HDLCK.

<yoshfuji@linux-ipv6.org>
   net/ipv6/addrconf.c: Refine IPv6 Address Validation Timer.

<torvalds@home.transmeta.com>
   Remove more tmp-file on clean (introduced with kallsyms)

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: More cleanup to isdn_net.c (X.25 / PPP)
   
   Again, instead of having stuff cluttered all over isdn_net.c, put
   it into the files where it belongs and get rid of the 
   #ifdef CONFIG_ISDN_X25 / CONFIG_ISDN_PPP by using dummy stubs if
   necessary.
   
   Same thing for CONFIG_ISDN_PPP.
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move net_device setup to a type-specific method
   
   isdn_net handles all kind of interfaces, e.g. raw IP, ethernet over ISDN,
   PPP - this is a cleanup making the setup of a net_device specific to the
   type of interface.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: 'ethernet over ISDN' cleanups

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: net_device->header for CISCO HDLC
   
   Break the CISCO specific part out of the generic isdn_net_header()
   and move it to the CISCO code.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: net_device->header for syncPPP and UI HDLC
   
   Break syncPPP and UI HDLC specific parts out of isdn_net_header()
   and move it to more appropriate places.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: net_device->header for IPTYP

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: separate out 'ethernet over ISDN' receive function
   
   First step in splitting isdn_net_receive into type specific functions.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: separate out IPTYP receive function
   
   Another step in splitting isdn_net_receive into type specific functions.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: separate out RAWIP receive function
   
   Another step in splitting isdn_net_receive into type specific functions.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: separate out CISCO HDLC receive function
   
   Another step in splitting isdn_net_receive into type specific functions.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: separate out IPTYP receive function
   
   Another step in splitting isdn_net_receive into type specific functions.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: finish separating out receive functions
   
   Use the same form for the already existing PPP / X.25 receive functions
   as for all the other ones, + small fixes.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a function pointer for type-specific receive

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a function pointer for type-specific connected() callback
   
   Again, instead of a switch statement, just use a callback.

<acme@conectiva.com.br>
   o LLC: remove unused list_head from llc_opt & use rw_lock_init for rwlocks

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a function pointer for type-specific disconnected() callback
   
   Again, instead of a switch statement, just use a callback.

<acme@conectiva.com.br>
   o X25: Simplify ioctl code, CodingStyle cleanups

<acme@conectiva.com.br>
   o X25: use refcounts and protect x25_route list
   
   Also rename untypedefed x25_cb, renaming it to x25_opt, to make
   it look like the other protocols.
   
   Added some kerneldoc comments.

<acme@conectiva.com.br>
   o LLC: rename llc_sock.c to af_llc.c
   
   To make it look like the other protocols.

<yoshfuji@linux-ipv6.org>
   net/ipv6/ndisc.c: Add missing credits.

<jdike@uml.karaya.com>
   Fixed highmem support for 2.5.

<jdike@uml.karaya.com>
   Missed a change to fixmap.h in the highmem update.

<achirica@ttd.net>
   airo wireless net drvr: add Cisco MIC support
   Conditionally enabled when out-of-tree, but open source, crypto lib
   is present.
   

<edward_peng@dlink.com.tw>
   update sundance driver to support building on older kernel:
   conditionally include crc32.h, ethtool.h, mii.h, and compat.h
   if built outside the stock 2.4.x kernel.

<acme@conectiva.com.br>
   o X25: use refcnts and protect x25_neigh structs and list
   
   Simplify some other code.

<jgarzik@mandrakesoft.com>
   sundance net drvr: fix reset_tx logic
   (contributed by Edward Peng @ D-Link, cleaned up by me)

<jgarzik@mandrakesoft.com>
   sundance net drvr: fix DFE-580TX packet drop issue, further reset_tx fixes
   (contributed by Edward Peng @ D-Link)

<jgarzik@mandrakesoft.com>
   sundance net drvr: bump version to LK1.05

<jgarzik@mandrakesoft.com>
   [net drivers] fix MII lib force-media ethtool path
   (contributed by Edward Peng @ D-Link)

<jgarzik@mandrakesoft.com>
   sis900 net driver update:
   * fix eeprom accesses
   * fix tx desc overflow
   * fix tx timeout bug
   * add sis963 support

<acme@conectiva.com.br>
   o X25: protect x25 sockets and list with refcnt and rwlock

<torvalds@home.transmeta.com>
   Fix "make mrproper" that broke when the files pattern matched
   a directory pattern. Clean directories _first_, then files.

<jdike@uml.karaya.com>
   Updated to build with the 2.5.39 kbuild.

<jgarzik@mandrakesoft.com>
   [net drivers] MII lib update:
   * add boolean 'init_media' arg to mii_check_media
   * update all callers (just 8139cp, for now)

<acme@conectiva.com.br>
   o X25: x25_wait_for_{data,connection_establishemnt} and the death of the last cli/sti pair in X.25

<akpm@digeo.com>
   [PATCH] Fix uninitialized swapper_space lists
   

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: inline function for testing if interface is bound
   
   Put the test for lp->flags & ISDN_NET_CONNECTED into an inline
   function called isdn_net_bound(), which more accurately names what
   we are testing for, i.e. the interface being bound to a hardware
   ISDN channel, which however is not necessarily online yet.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Put slot index of reserved channel into ->exclusive
   
   We will need the index of the channel we reserved later, so override
   the meaning of ->exclusive.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: exclusive handling in isdn_net_force_dial_lp()
   
   When using exclusive mode, we already reserved our channel
   at the time that mode was set, so no need to get a free channel
   in this case.
   
   Also, indent cleanups to isdn_net_start_xmit().

<jgarzik@mandrakesoft.com>
   [net drivers] Rename MII lib API member, s/duplex_lock/force_media/,
   and update all drivers that reference this struct member.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Share code for initiating dial out

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use net/ethernet/eth.c eth_rebuild_header()
   
   No need to duplicate that function privately.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Remove ISDN_NET_CONNECTED flags
   
   The same information is present as (->isdn_slot >= 0), so don't
   duplicate it (and risk it getting out of sync)

<acme@conectiva.com.br>
   o LAPB: use refcounts and rwlock to protect lapb_cb and list
   
   Also some CodingStyle code reformatting.
   Ah, killed the typedef for lapb_cb.

<jgarzik@mandrakesoft.com>
   Add helper function generic_mii_ioctl to MII lib, use it in 8139cp net drvr

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: unclutter isdn_net_find_icall()
   
   The method to find out if an incoming call is addressed to
   any of the ISDN network interfaces is horrible. A bit of splitting
   and dropping the swap channels if exclusive logic makes it a bit
   better at least.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Introduce generic bind/unbind callbacks
   
   PPP wants callbacks at the time a connection between ISDN channel
   and network interface is established, i.e. before dialing to
   avoid dialing when no ipppd is present, so use generic
   bind/unbind callbacks.

<yoshfuji@linux-ipv6.org>
   net/ipv6/ip6_fib.c: Default route support on router.

<jgarzik@mandrakesoft.com>
   Use new MII lib helper generic_mii_ioctl in several net drivers:
   8139too, epic100, fealnx, sundance and via-rhine.
   
   In the process, several of these net drivers gained MII ioctl
   locking fixes simply by virtue of being brought in line with
   standardized code.

<jgarzik@mandrakesoft.com>
   [net drivers] Remove 'dev' argument from generic_mii_ioctl helper

<jgarzik@mandrakesoft.com>
   [net drivers] add optional duplex-changed arg to generic_mii_ioctl helper

<davem@nuts.ninka.net>
   [SPARC64]: Rework all EBUS DMA support.
   - Add EBUS DMA layer so the same code does not need to
   be debugged/duplicated several times.
   - Convert Parport/Floppy/CS4231 to use new EBUS DMA layer.

<jgarzik@mandrakesoft.com>
   [net drivers] update hamachi.c and starfire.c to use MII lib

<zaitcev@redhat.com>
   [sparc]: defconfig update

<acme@conectiva.com.br>
   o lapbether: get rid of cli/sti, use refcnts for devs, etc

<rmk@flint.arm.linux.org.uk>
   [ARM] 2.5.34 update
   Update for changes in mainline 2.5.3[01234].

<rmk@flint.arm.linux.org.uk>
   [ARM] Unify integer register usage passed into FP module.
   This allows the FP module to perform some extra optimisations.

<gilbertd@treblig.org>
   [ARM PATCH] 1257/1: Helpful comment in stat.h
   Hi,
     For reasons of great complexity I found out the hard way that the
   kernel must (and does) zero the pad sections in the stat structures.
   Here is a comment that states this for the next person who needs to
   know.

<gilbertd@treblig.org>
   [ARM PATCH] 1260/1: Fix comment in nwfpe
   Hi,
     I believe the comment in the nwfpe fpopcodes is slightly wrong -
   although a 2nd pair of eyes on this would be a good idea.

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE updates for new entry conditions.

<rmk@flint.arm.linux.org.uk>
   [ARM] Remove keyboard.h includes and some generic ARM keyboard bits.
   This keeps ARM in line with the continued transition to the input
   layer.

<mingo@elte.hu>
   [PATCH] sigfix-2.5.39-A1
   
   This fixes the bug reported by David Mosberger, force_sig_info() dropped
   the siginfo structure, which broke things like SIGFPU or alignment-error
   exceptions.  This bug was introduced by the threading signal changes.
   (The patch also fixes signal declaration whitespaces in sched.h.)

<mingo@elte.hu>
   [PATCH] futex-fix-2.5.39-A1
   
   This fixes one more race left in the new futex hashing code, which
   triggers if a futex waiter gets a signal after it has been woken up but
   before it actually wakes up.

<mingo@elte.hu>
   [PATCH] signal delivery to thread groups bugfix
   
   Fix thread group signal sending

<mingo@elte.hu>
   [PATCH] thread-group SIGSTOP handling
   
   Fix thread-group SIGSTOP handling - the SIGSTOP notification was not
   propagated to the parent of the thread group leader.  Now Ctrl-Z-ing of
   thread groups works again.

<mingo@elte.hu>
   [PATCH] atomic-thread-signals
   
   Avoid racing on signal delivery with thread signal blocking in thread
   groups.
   
   The method to do this is to eliminate the per-thread sigmask_lock, and
   use the per-group (per 'process') siglock for all signal related
   activities.  This immensely simplified some of the locking interactions
   within signal.c, and enabled the fixing of the above category of signal
   delivery races.
   
   This became possible due to the former thread-signal patch, which made
   siglock an irq-safe thing.  (it used to be a process-context-only
   spinlock.) And this is even a speedup for non-threaded applications:
   only one lock is used.
   
   I fixed all places within the kernel except the non-x86 arch sections.
   Even for them the transition is very straightforward, in almost every
   case the following is sufficient in arch/*/kernel/signal.c:
   
         :1,$s/->sigmask_lock/->sig->siglock/g

<mingo@elte.hu>
   [PATCH] smptimers, old BH removal, tq-cleanup
   
   This is the smptimers patch plus the removal of old BHs and a rewrite of
   task-queue handling.
   
   Basically with the removal of TIMER_BH i think the time is right to get
   rid of old BHs forever, and to do a massive cleanup of all related
   fields.  The following five basic 'execution context' abstractions are
   supported by the kernel:
   
     - hardirq
     - softirq
     - tasklet
     - keventd-driven task-queues
     - process contexts
   
   I've done the following cleanups/simplifications to task-queues:
   
    - removed the ability to define your own task-queue, what can be done is
      to schedule_task() a given task to keventd, and to flush all pending
      tasks.
   
   This is actually a quite easy transition, since 90% of all task-queue
   users in the kernel used BH_IMMEDIATE - which is very similar in
   functionality to keventd.
   
   I believe task-queues should not be removed from the kernel altogether.
   It's true that they were written as a candidate replacement for BHs
   originally, but they do make sense in a different way: it's perhaps the
   easiest interface to do deferred processing from IRQ context, in
   performance-uncritical code areas.  They are easier to use than
   tasklets.
   
   code that cares about performance should convert to tasklets - as the
   timer code and the serial subsystem has done already. For extreme
   performance softirqs should be used - the net subsystem does this.
   
   and we can do this for 2.6 - there are only a couple of areas left after
   fixing all the BH_IMMEDIATE places.
   
   i have moved all the taskqueue handling code into kernel/context.c, and
   only kept the basic 'queue a task' definitions in include/linux/tqueue.h.
   I've converted three of the most commonly used BH_IMMEDIATE users:
   tty_io.c, floppy.c and random.c. [random.c might need more thought
   though.]
   
   i've also cleaned up kernel/timer.c over that of the stock smptimers
   patch: privatized the timer-vec definitions (nothing needs it,
   init_timer() used it mistakenly) and cleaned up the code. Plus i've moved
   some code around that does not belong into timer.c, and within timer.c
   i've organized data and functions along functionality and further
   separated the base timer code from the NTP bits.
   
   net_bh_lock: i have removed it, since it would synchronize to nothing. The
   old protocol handlers should still run on UP, and on SMP the kernel prints
   a warning upon use. Alexey, is this approach fine with you?
   
   scalable timers: i've further improved the patch ported to 2.5 by wli and
   Dipankar. There is only one pending issue i can see, the question of
   whether to migrate timers in mod_timer() or not. I'm quite convinced that
   they should be migrated, but i might be wrong. It's a 10 lines change to
   switch between migrating and non-migrating timers, we can do performance
   tests later on. The current, more complex migration code is pretty fast
   and has been stable under extremely high networking loads in the past 2
   years, so we can immediately switch to the simpler variant if someone
   proves it improves performance. (I'd say if non-migrating timers improve
   Apache performance on one of the bigger NUMA boxes then the point is
   proven, no further though will be needed.)

<rmk@flint.arm.linux.org.uk>
   [ARM] Bring asm/setup.h and asm/unistd.h into line with main ARM tree
   This removes some minor differences between Linus' tree and the main
   ARM tree; comment clarification and some weird formatting.

<pwaechtler@mac.com>
   [PATCH] oss sound cli cleanup
   
   More cleanups for the OSS sound modules

<linux@brodo.de>
   [PATCH] (1/5) CPUfreq core
   
   CPUFreq core for 2.5.39
   include/linux/cpufreq.h      CPUFreq header
   kernel/Makefile         add cpufreq.c if necessary
   kernel/cpufreq.c      CPUFreq core

<linux@brodo.de>
   [PATCH] (2/5) CPUfreq i386 core
   
   CPUFreq i386 core for 2.5.39:
   arch/i386/kernel/i386_ksyms.c   export cpu_khz
   arch/i386/kernel/time.c      update various i386 values on frequency
               changes
   include/asm-i386/msr.h      add Transmeta MSR defines

<linux@brodo.de>
   [PATCH] (3/5) CPUfreq i386 drivers
   
   CPUFreq i386 drivers for 2.5.39:
   arch/i386/config.in            Necessary config options
   arch/i386/kernel/cpu/Makefile         allow for compilation of the CPUFreq subdirectory
   arch/i386/kernel/cpu/cpufreq/Makefile      Makefile for CPUFreq drivers
   arch/i386/kernel/cpu/cpufreq/elanfreq.c      CPUFreq driver for AMD Elan processors
   arch/i386/kernel/cpu/cpufreq/longhaul.c      CPUFreq driver for VIA Longhaul processors
   arch/i386/kernel/cpu/cpufreq/longrun.c      CPUFreq driver for Transmeta Crusoe processors
   arch/i386/kernel/cpu/cpufreq/p4-clockmod.c   CPUFreq driver for Pentium 4 Xeon processors (using clock modulation)
   arch/i386/kernel/cpu/cpufreq/powernow-k6.c   CPUFreq driver for mobile AMD K6-2+ and mobile AMD K6-3+ processors
   arch/i386/kernel/cpu/cpufreq/speedstep.c   CPUFreq drivers for ICH2-M and ICH3-M chipsets and Intel Pentium 3-M and 4-M processor+
s.

<linux@brodo.de>
   [PATCH] (4/5) CPUfreq Documentation
   
   CPUFreq documentation for 2.5.39:
   CREDITS         one further CREDIT entry
   Documentation/cpufreq   documentation of CPU frequency and voltage scaling
      support in the Linux kernel.
   MAINTAINERS      one further MAINTAINERS entry
   arch/i386/Config.help   Config.help texts for i386 CPUFreq drivers

<rmk@flint.arm.linux.org.uk>
   [ARM] Correct the usage of __FUNCTION__ to make gcc happy.

<linux@brodo.de>
   [PATCH] (5/5) CPUfreq /proc/sys/cpu/ add-on patch
   
   CPUFreq 24-API add-on patch for 2.5.39:
   kernel/cpufreq.c   cpufreq-24-API
   include/linux/cpufreq.h   cpufreq-24-API
   arch/i386/config.in   Transmeta LongRun does not work well with cpufreq-24-API
   arch/i386/Config.help   help text for CONFIG_CPU_FREQ_24_API

<linux@brodo.de>
   [PATCH] CPUfreq i386 drivers update
   
   This add-on patch is needed to abort on Dell Inspiron 8000 / 8100 which
   would lock up during speedstep.c and to resolve an oops (thanks to Hu Gang
   for reporting this)

<rmk@flint.arm.linux.org.uk>
   [ARM] Update PCI host bridge drivers for GregKH PCI cleanups.

<rmk@flint.arm.linux.org.uk>
   [ARM] Don't return a value from ptrace_set_bpt()
   The return value from ptrace_set_bit() is never used.  This cset
   makes it a void function.

<nico@cam.org>
   [ARM PATCH] 1293/1: fix to the ARM optimized strchr()
   Two bugs here:
   
   1) The return value of strchr("foo",0) should be the start address of
      "foo" + 3, not NULL.
   
   2) Since the second argument for strchr() is defined as an int, some
      characters such as 'é' might validly end up to be the value -23 due to
      signedness issues.  Corectly handle those.

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Make scripts/Configure follow the definition of 'int'
   
   Currently, scripts/Configure has code for the 'int' verb to take a
   min/max.  This violates the spec described in
   Documentation/kbuild/config-language.txt.  It also requires that if a
   default is outside of +/- 10,000,000 that defaults be provided, or
   'config' and 'oldconfig' will get stuck.  The following removes the
   support for a min/max from scripts/Configure.
   
   (by Tom Rini)

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Fix typo for 'tags' target
   
   by Aristeu Sergio Rozanski Filho

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix up export-objs for clps711x, integrator and sa1100
   (From Thunder)

<kai@tp1.ruhr-uni-bochum.de>
   kbuild: Make KBUILD_VERBOSE=0 work better under emacs
   
   (slightly modified to unconditionally add the relative path to the subdir)
   
   Rusty Russel wrote:
   
   "M-x compile" in emacs stars a compilation and can jump to the next
   error.  With KBUILD_VERSBOSE=0 (as I have in my env, great work Kai)
   it can't figure out the directory, since it doesn't see the make[XXX]
   markers.
   
   This makes it work.

<rscott@attbi.com>
   [ARM PATCH] 1243/1: Add support for Ceiva Photoframe, part2: machine specifics (fixed)
   Adds machine specific support for Ceiva Photoframe. Affects:
   arch/arm/mach-clps711x/Makefile 
   arch/arm/mach-clps711x/ceiva.c (new)
   include/asm-arm/arch-clps711x/hardware.h
   include/asm-arm/arch-clps711x/memory.h
   
   Differences from 1st patch:
   Removed redundant static I/O mapping for flash from hardware.h
   Reverted to original CONFIG_DISCONTIGMEM enabling in memory.h
   Added PHYS_TO_NID definition, when DISCONTIG undefined in memory.h
   

<rmk@flint.arm.linux.org.uk>
   [ARM] Cleanup Ceiva merge.

<rmk@flint.arm.linux.org.uk>
   [ARM] Add kmap_types.h and percpu.h

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix clps711x and ftvpci LEDs initialisation.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use a struct to describe types of ISDN net interfaces
   
   Use a struct of methods and parameters to describe the
   different kinds of network interfaces supported by isdn_net.c
   and friends.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix assabet backlight and power supply settings.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Introduce generic init/cleanup callbacks
   
   X25 needs notification when encapsulation is set to X25 and when
   it is changed to something else again, so let's have some callbacks
   for init/cleanup.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Use ether_setup() for ethernet over ISDN only
   
   The ->init() callback can be used for calling ether_setup() in case
   of encapsulation "ISDN over ethernet", for the other cases it does not
   make sense anyway.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Add close()/open() callbacks to ISDN net interface implementation
   
   X25 needs notification if an interface is brought up or down, and
   ethernet over ISDN creates a fake MAC address at open time, so put this
   into appropriate callbacks as well.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move "name" member from isdn_net_local to isdn_net_dev
   
   This is the first step of a long series moving members between
   isdn_net_local and isdn_net_dev.
   
   Today, a one-to-one relationship between these both structures exist, so
   it does not really matter where the members live. However, the goal
   is to get a correspondence like
   
   net_device -> isdn_net_local -> master isdn_net_device
                                              |
                                   slave  isdn_net_device
                                              |
                                   slave  isdn_net_device
   
   where more than one isdn_net_device can exist per actual net_device,
   due to channel bundling.

<mingo@elte.hu>
   [PATCH] tq-cleanup module compile
   
   This removes some more old symbols from ksyms.c.  This makes the kernel
   compile with modules enabled.

<mingo@elte.hu>
   [PATCH] tq_struct removal fixups..
   
   Update radeon_irq.c and reiserfs for tq simplifications

<acme@conectiva.com.br>
   o LLC: CONFIG_LLC_UI is really a bool, not a tristate

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move dial/channel related members to isdn_net_dev
   
   Dialing happens per channel / isdn_net_dev, so the move the
   corresponding members there.

<urban@teststation.com>
   [PATCH] wait_event_interruptible_timeout
   
   smbfs wants a wait_event_interruptible_timeout to be able to replace
   interruptible_sleep_on_timeout.

<urban@teststation.com>
   [PATCH] SMB Unix Extensions
   
   This patch adds symlinks, hardlinks, device nodes, uid/gid, unix
   permissions vs servers that support it (ie samba). Most of this is the
   work of John Newbigin, I just modified it for 2.5.
   
   There are issues with what samba allows (eg you can't make arbitrary
   symlinks) and room for improvements (use the servers value for ino?). But
   it doesn't affect "normal" users.

<acme@conectiva.com.br>
   o LLC: make it clear that Appletalk and IPX needs LLC
   
   Thanks to Andries Brouwer for providing a patch.

<urban@teststation.com>
   [PATCH] might_sleep fixes
   
   + Fixes 2 cases caught by might_sleep testing.
   + Replace sleep_on with wait_event.
   + MOD_INC_USE_COUNT to prevent module unload vs smbiod thread exit race.

<Kai.Makisara@kolumbus.fi>
   [PATCH] SCSI tape driver locking fixes
   
   This contains the following changes for the SCSI tape driver in 2.5.39:
   - move driverfs file creation and removal outside the st_dev_arr_lock
     spinlock
   - change page pointer array allocation from GFP_ATOMIC to GFP_KERNEL

<akpm@digeo.com>
   [PATCH] additional might_sleep checks
   
   - Dave says that lock_sock() inside locks is a popular bug.  Put a
     check there.
   
   - Also in wait_for_completion().
   
   - Add the text "Debug" to the warning message so people are less
     likely to think that they've oopsed.

<akpm@digeo.com>
   [PATCH] kmem_cache_destroy fix
   
   Slab currently has a policy of buffering a single spare page per slab.
   We're putting that on the partially-full list, which confuses
   kmem_cache_destroy().
   
   So put it on cachep->slabs_free, which is where empty pages go.

<akpm@digeo.com>
   [PATCH] Documentation/vm/hugetlbpage.txt
   
   From Rohit
   
   Creates Documentation/vm/hugetlbpage.txt

<akpm@digeo.com>
   [PATCH] get_user_pages PageReserved fix
   
   From David Miler.
   
   get_user_pages() needs to avoid running page_cache_get() against
   PageReserved pages.  Things like video driver and audio driver
   remap_page_range() mappings.

<akpm@digeo.com>
   [PATCH] move_one_page kmap atomicity fix
   
   move_one_page() is calling alloc_one_pte_map() while holding an atomic
   kmap for the source pte's page.  But alloc_one_pte_map() can sleep in
   the page allocator.
   
   So change move_one_page() to take a peek at the destination pagetables
   to work out whether the alloc_one_pte_map() will need to perform page
   allocation.  If so, drop the atomic kmap and retake it after allocating
   the pte.

<akpm@digeo.com>
   [PATCH] fix uninitialised vma list_head
   
   From Zach Brown.  Lots of places forget to initialise list_heads in
   vm_area_structs, and other places then go and test the state of those
   list_heads.
   
   Plug the gaps for now, Zach is working on a broader cleanup.

<willy@debian.org>
   [PATCH] remove GFP_NFS
   
   GFP_NFS has been obsolete for a while now.  Kill its only remaining
   user, its definition and the SLAB_NFS define too.

<akpm@digeo.com>
   [PATCH] add /proc/buddyinfo
   
   From David Hansen, Bill Irwin, Martin Bligh.
   
   "It's easier to cat /proc/buddyinfo than to beg users to press
    shift-scrolllock on a machine millions of miles away.  Order 1 and 2
    memory allocations are common.  Memory fragmentation is a problem
    under some workloads, and this is a useful tool for helping diagnose
    these problems."
   
   The following patch exports some information about the buddy allocator.
   
   Each column of numbers represents the number of pages of that order
   which are available.  In this case, there are 5 chunks of
   2^2*PAGE_SIZE available in ZONE_DMA, and 101 chunks of 2^4*PAGE_SIZE
   availble in ZONE_NORMAL, etc...  This information can give you a good
   idea about how fragmented memory is and give you a clue as to how big
   an area you can safely allocate.
   
   Node 0, zone      DMA      0      4      5      4      4      3 ...
   Node 0, zone   Normal      1      0      0      1    101      8 ...
   Node 0, zone  HighMem      2      0      0      1      1      0 ...

<akpm@digeo.com>
   [PATCH] remove free_area_t typedef
   
   typedef eradication.

<akpm@digeo.com>
   [PATCH] per-node kswapd instances
   
   Patch from David Hansen.
   
   Start one kswapd instance for each NUMA node.  That kswapd instance
   only works against the pages which are local to that node.
   
   We need to bind that kswapd to that node's CPU set, but the
   infrastructure for this is not yet in place.

<akpm@digeo.com>
   [PATCH] in-kernel topology API
   
   From Matthew Dobson <colpatch@us.ibm.com>
   
   "This patch adds a 'simple' in-kernel topology API.  This API allows
    for three primary topology elements: CPUs, memory blocks, and nodes.
    The API allows for the discovery of which CPUs/Memory Blocks reside on
    which nodes, and vice versa.  Also implemented is a macro to get a
    bitmask of CPUs on a particular node.  This API is platform neutral."
   
   We need this API for per-node-kswapd - without it there is no means by
   which each kswapd can be bound to its node's CPUs.  And we rather need
   per-node-kswapd...
   
   The patch also uses the new API to bind each kswapd instance to its
   node's CPUs

<akpm@digeo.com>
   [PATCH] topology API updates
   
   From Matthew Dobson.
   
   Leaves any functions which architectures haven't defined as undefined,
   rather than using non-NUMA functions where users would expect
   NUMA-functions.
   
   This will cause compilation errors if someone tries to use an undefined
   function, hopefully causing them to actually define those functions.
   
   Also removes lingering topology-like macros that aren't being used, and
   a couple typo fixes.

<perex@suse.cz>
   [PATCH] ALSA update [1/10] - 2002/06/24
   
     - ioctl32 emulation update
     - intel8x0 driver
       - fixed PCI ID of AMD8111
     - compilation fixes for HDSP
     - fixes for PCI memory allocation

<perex@suse.cz>
   [PATCH] ALSA update [2/10] - 2002/06/26
   
     - Enhanced bitmasks in PCM - added support for more formats by Takashi and me
     - RME32 driver - added support for ADAT (Digi 32/8)

<perex@suse.cz>
   [PATCH] ALSA update [3/10] - 2002/07/03
   
     - added support for spdif on coexant cx20468 chip
     - fixed compilation without CONFIG_PROC_FS
     - YMFPCI driver
       - fixed GPIO read/write
       - a new module option snd_rear_switch
     - ioctl32 - added support for old hw_params ioctl
     - ES1968 driver
       - enabled hw control IRQ
       - calling es1968_reset() in free()
     - VIA8233 driver - fixes for mono playback

<perex@suse.cz>
   [PATCH] ALSA update [4/10] - 2002/07/14
   
     - seq_virmidi - exported snd_virmidi_receive() for processing the incoming events from the event handler of a remote virmidi po+
rt.
     - pcm_lib.c - fixed wrong spinlock
     - AC'97 code
       - added VIA codecs, fixed order
       - added S/PDIF support for Conexant CX20468
     - ALI5451 - fixed wrong spinlock
     - ES1968 - fixed wrong mutex
     - ICE1712 - fixed SMP dead-lock
     - HDSP driver update
     - RME9652 - fixed wrong spinlock

<perex@suse.cz>
   [PATCH] ALSA update [5/10] - 2002/07/17
   
     - AD1816A - fixed MIC playback volume
     - OPL3SA2 - fixed non-ISA PnP build
     - AC'97 code - 1st version of separated codec specific code

<perex@suse.cz>
   [PATCH] ALSA update [6/10] - 2002/07/20
   
     - added vfree_nocheck()
     - PCM midlevel & EMU10K1 - added support for SG buffer
     - CS4236 - added new ISA PnP ID
     - HDSP - fixed rate rules (OSS emulation works)

<perex@suse.cz>
   [PATCH] ALSA update [7/10] - 2002/07/24
   
     - renamed snd-dt0197h to snd-dt019x
     - added support for DT0196, DT0197h and ALS007 to snd-dt019x
     - searial-u16550 - added support for generic adapter type
     - pcm.c
       - fixed the initialization of runtime->status
       - removed unnecessary check of n_register callback
     - timer.c
       - fixed kmod behaviour
     - Opti92x/93x fixes by Michael Corlett
     - fixed compilation of YMFPCI driver (PPC)

<perex@suse.cz>
   [PATCH] ALSA update [8/10] - 2002/07/31
   
     - AC'97 codec
       - added reset callback to do reset and skip the standard procedure
       - added limited_regs flag to avoid to touch unexpected registers
       - Fixes for AD1981A and added a special patch for an intel motherboard
     - sequencer
       - check the possible infinite loop in priority queues
       - reset the timer at continue if not initialized yet
     - changed synchronize_irq() for new api with an argument
     - NM256 driver - fixes the lock up on NM256 ZX
     - VIA8233 - implementation of SG buffer

<perex@suse.cz>
   [PATCH] ALSA update [9/10] - 2002/08/01
   
     - CS46xx - added support for the new DSP image
       - S/PDIF and dual-codec support
     - sequencer
       - fixed deadlock at snd_seq_timer_start/stop

<perex@suse.cz>
   [PATCH] ALSA update [10/10] - 2002/08/05
   
     - CS46xx
       - fixed capture with new DSP firmware
       - multiple pcm playback streams
       - pcm playback instance is allocated dynamically
       - fixed detection of secondary codec
     - changed ctl/rawmidi/timer read() code to follow POSIX standard - when some data are ready, return immediately
     - RME96 - added 32 bit sample formats for ADAT

<torvalds@home.transmeta.com>
   Fix broken whitespacing in PPC Makefile

<linux@brodo.de>
   [PATCH] cpufreq bugfixes
   
   - incorrect pointer calculation spotted by Gerald Britton
   - speedstep.c cleanup (Gerald Britton)

<zaitcev@redhat.com>
   [sparc] Stalingrad for kbuild army.

<zaitcev@redhat.com>
   [sparc] Suppress warnings in srmmu printks.

<schoenfr@gaaertner.de>
   net/ipv4/proc.c: Dont print dummy member of icmp_mib.

<hirofumi@mail.parknet.co.jp>
   [PATCH] use fff/ffff/fffffff instead of ff8/fff8/ffffff8 for EOF of FAT
   
   On FAT12, the current FAT driver recognizes 0xff8-0xfff as EOF, and it
   writes in 0xff8 as EOF.  This is right behavior.  However, the firmware
   of some MP3-Players recognize only 0xfff (standard EOF which Micorsoft
   uses) as EOF.
   
   So, we write 0xfff instead of 0xff8 as EOF, until the reason we need
   values other than standard EOF is found.
   
   [Randy Dunlap, I appreciate your help.]

<hirofumi@mail.parknet.co.jp>
   [PATCH] remove fat_search_long() in vfat_add_entry()
   
   This removes the fat_search_long() in the vfat_add_entry().  This path
   is already checked by the vfs layer whether file/directory exists.  So,
   we don't need the fat_search_long() in vfat_add_entry().
   
   The following is the result of created the 1000 files,
   
   2.5.39
   root@devron (a)[1007]# time ../../create
   
   real    0m2.761s
   user    0m0.006s
   sys     0m2.752s
   root@devron (a)[1008]#
   
   2.5.39 + patch
   root@devron (a)[1007]# time ../../create
   
   real    0m1.601s
   user    0m0.008s
   sys     0m1.575s
   root@devron (a)[1008]#

<bart.de.schuymer@pandora.be>
   net/bridge/br_input.c: Missing read_unlock.

<rmk@arm.linux.org.uk>
   [PATCH] free_irq
   
   Fix free_irq() comment - it definitely is not callable
   from interrupt context..

<wim@iguana.be>
   [PATCH] i8xx documentation
   
   Make i810_rng documentation the same as in 2.4.19

<wim@iguana.be>
   [PATCH] i8xx: new PCI ids
   
   Add defines to pci_ids.h for 82801E and 82801DB I/O Controller Hub PCI-IDS.

<wim@iguana.be>
   [PATCH] i810-tco update
   
   i810-tco: Upgrade to version 0.05 .
   
   Fix possible timer_alive race, add expect close support,
   clean up ioctls (WDIOC_GETSTATUS, WDIOC_GETBOOTSTATUS and
   WDIOC_SETOPTIONS), made i810tco_getdevice __init,
   removed boot_status, removed tco_timer_read,
   added support for 82801DB and 82801E chipset, general cleanup.

<torvalds@home.transmeta.com>
   Make sure the "devices" list is initialized in isapnp_device_driver

<ahaas@neosoft.com>
   [PATCH] C99 designated initializer for fs/bfs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/minix
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/efs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializer patch for fs/openpromfs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializer patch for fs/ramfs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializer patch for fs/exportfs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializer patch for fs/devpts.
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/romfs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/proc
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/isofs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/ufs
   

<ahaas@neosoft.com>
   [PATCH] C99 designated initializers for fs/cramfs
   

<jgarzik@mandrakesoft.com>
   Use schedule_task() in tlan net driver, fixing build

<jgarzik@mandrakesoft.com>
   Include linux/tqueue.h in orinoco[_cs] net drvrs, fixing build
   (contributed by James Blackwell)

<davidm@napali.hpl.hp.com>
   [PATCH] avoid reference to struct page before it's declared
   
   GCC currently warns when page-flags.h gets included before struct page
   is declared. Declare it.

<jgarzik@mandrakesoft.com>
   Use do_gettimeofday() in ATM drivers
   (contributed by Francois Romieu)

<jdike@uml.karaya.com>
   One last fix to make the non-highmem build work.

<jdike@uml.karaya.com>
   Added CONFIG_HIGHMEM to defconfig.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move ppp-specifics to isdn_net_dev
   
   Again, ipppd has one kernel connection per channel in a MPPP
   setting, so we should keep track in isdn_net_dev.

<jdike@uml.karaya.com>
   Moved the linker script from vmlinux.lds.S, which will be empty, to
   uml.ld.S.

<kai@tp1.ruhr-uni-bochum.de>
   ISDN: Move dial/hangup related stuff to isdn_net_dev
   
   Keeping track of dialing / auto hangup is per ISDN channel, so should
   go into isdn_net_dev.

<acme@conectiva.com.br>
   o LLC: make sure llc.o is linked before the datalink protos when !module
   
   Thanks do Andries Brouwer for reporting the problem and suggesting a
   way to fix it.

<jdike@uml.karaya.com>
   main.o needed to be added to the vmlinux dependencies so it would build.

<torvalds@home.transmeta.com>
   All .tmp* files are auto-generated

<david-b@pacbell.net>
   [PATCH] Sleeping function called from illegal context...
   
   Fix pci_pool_create() from calling device_create_file() under
   pools_lock.
   
   Found by the new "may_sleep" infrastructure.

<david@gibson.dropbear.id.au>
   [PATCH] Fix: Orinoco driver update
   
   Crud.  Looks like my patch making script was borken, so orinoco_pci.c
   wasn't updated properly.  The patch below should fix that, and adds
   some other minor updates (driver version 0.13a) as well.

<davem@nuts.ninka.net>
   arch/sparc64/kernel/pci_schizo.c: Enable error interrupts in correct PBM.

<jgarzik@mandrakesoft.com>
   Replace local var in 8139cp net driver that was accidentally removed,
   due to synchronize_irq() becoming a no-op when !CONFIG_SMP.

<davem@nuts.ninka.net>
   [SPARC]: sigmask_lock --> sig->siglock

<acme@conectiva.com.br>
   . LLC: kill mac_send_pdu, use plain dev_queue_xmit
   
   With this we avoid doing skb_clone on skbs that will not be kept on
   unacked lists.

<davem@nuts.ninka.net>
   [SPARC]: Rename private init_timers to sparc{,64}_init_timers.

<davem@nuts.ninka.net>
   drivers/input/keyboard/sunkbd.c: queue_task --> schedule_task

<davem@nuts.ninka.net>
   drivers/net/ethertap.c: Use C99 initializers.

<davem@nuts.ninka.net>
   sound/sparc/cs4231.c: Include sound/pcm_params.h

<davem@nuts.ninka.net>
   sound/pci/cs46xx/dsp_spos.c: Include linux/vmalloc.h

<mingo@elte.hu>
   [PATCH] sigfix-2.5.39-D0, BK-curr
   
   This fixes a procfs crash noticed by Anton Blanchard.
   
   The procfs code can have a reference even to an already exited task, so
   it needs to follow special rules accessing p->sig.  The atomic-signals
   patch made this bug happen at a much higher frequency, but procfs i
   believe was buggy ever since, it potentially used the freed signal
   structure - which just did not result in a crash like it does today.
   
   The proper fix is to take the tasklist read-lock in
   collect_sigign_sigcatch(), this excludes __exit_sighand() freeing the
   signal structure prematurely.

<bzeeb-lists@lists.zabbadoz.net>
   [PATCH] fix endless loop walking the MADT
   
   Too trivial to see the first time when debugging on weekends ;-))

<rmk@flint.arm.linux.org.uk>
   [ARM] Update SA1111 core and related drivers for LDM.
   This cset updates the SA1111 core, PCMCIA, OHCI and keyboard drivers,
   allowing them to take advantage of the Linux device manager code;
   this implements initial suspend/resume support for the SA1111 in the
   core.  Many existing drivers currently rely on the old PM-based
   interface for suspend/resume support.

<rmk@flint.arm.linux.org.uk>
   [ARM] Add LDM suspend/resume support to SA1100 suspend code.

<axboe@suse.de>
   [PATCH] request_irq() use GFP_ATOMIC
   
   The might_sleep() thing caught ide, which calls request_irq() with a
   lock held. It can be argued that this is a bad thing, however I think it
   can also validly be argued that requesting an irq should not be a
   blocking operation. This might even remove some driver bugs where usage
   count is not incremented during init...
   
   It can also be argued, that the very first irq requests cannot be
   blocking for io anyways, for good reason :-)

<axboe@suse.de>
   [PATCH] add function to set q->merge_bvec_fn
   
   Add a function to set queue merge_bvec_fn to mimic the rest of the api,
   and also add documentation for that and blk_queue_prep_rq().

<axboe@suse.de>
   [PATCH] don't BUG() on too big a bio
   
   There's really no reason to BUG() out on a bio that is too big, the
   gentleman thing to do would be to print a warning and just end the bio
   with -EIO quietly.

<axboe@suse.de>
   [PATCH] make loop set right queue restrictions
   
   This makes loop honor the queue restrictions by basically stacking all
   of those, and mirroring the merge_bvec_fn() on the target queue. It also
   switches loop to use per-loop device queues, since that is the only sane
   way to do this from a performance POV. Also, in principle I find it to
   be much nicer if every distinct block device has its own queue.

<axboe@suse.de>
   [PATCH] raid5 BIO_UPTODATE set
   
   These days we only require a clear of BIO_UPTODATE on -EIO, we don't set
   it on success. This breaks raid5. It appears to clear BIO_UPTODATE fine
   but doesn't start out with it set.

<axboe@suse.de>
   [PATCH] loop clear q->queuedata on exit
   
   Just for niceness, loop should clear queue queuedata when it exits.

<axboe@suse.de>
   [PATCH] set ide pci dma mask
   
   Make IDE set the dma mask to full 32-bit dma.

<viro@math.psu.edu>
   [PATCH] gendisks list switched to list_head
   
   The list used to generate /proc/partitions turned into list_head one;
   we also restore the old order of elements (originally we added to the end
   of list; recent changes had reverted that, now we are back to original
   order).

<viro@math.psu.edu>
   [PATCH] get_gendisk() prototype change
   
   get_gendisk() now takes dev_t (instead of kdev_t) and gets an additional
   argument - int *part.  Set to 0 for non-partitioned, partition number
   for partititoned.  Callers updated.  Yes, I hate passing return values
   that way ;-/  We need that since old "minor(dev) - disk->first_minor"
   doesn't work for stuff with non-trivial numbers (e.g. floppy) and
   get_gendisk() really has to return both gendisk and partition number.
   Fortunately, amount of callers of gendisk() is about to drop RSN big way...

<viro@math.psu.edu>
   [PATCH] floppy fixes
   
   corrected handling of sizes.  Ugh.

<viro@math.psu.edu>
   [PATCH] ubd fixes
   
   Cleans the handling of partitioning up.  More or less the same story as with
   other drivers...

<viro@math.psu.edu>
   [PATCH] register_disk() unexported
   
   ... now it can be done.  We also drop almost all arguments - there is only
   one caller and everything is determined by the first argument.

<rmk@flint.arm.linux.org.uk>
   [ARM] Remove "struct device" from sa1111_init() callers
   This didn't follow the LDM model correctly.  The SA1111 is always
   a device on the root bus.

<viro@math.psu.edu>
   [PATCH] ->major_name inlined
   
   char *major_name replaced with char disk_name[16];  All uses of ->major_name
   replaced with those of ->disk_name and (obviously) simplified big way.  Bunch
   of arrays, kmallocs, etc. is gone.

<viro@math.psu.edu>
   [PATCH] alloc_disk/put_disk
   
   Beginning of proper refcounting.  New helpers introduced, several drivers
   switched to using them for dynamic allocation of gendisks.  Once everything
   is switched (and that will be way easier than per-drive gendisks series)
   we will be able to add sane reference counts on gendisk, at which point
   we can safely put pointer to gendisk in struct block_device / struct request
   and we had pretty much won - from that point it's pretty straightforward
   crapectomy in drivers.

<willy@debian.org>
   [PATCH] Remove QDIO_BH
   
   QDIO_BH was never actually used anyway, and won't do much good now BHs
   are gone.

<linux@brodo.de>
   [PATCH] cpufreq crashes on P4
   
   In two drivers a wrong size of memory was allocated for cpufreq_driver: as
   it must include NR_CPUS times a struct cpufreq_policy (and not struct
   cpufreq_freqs). Thanks to Petr Vandrovec for this patch.

<rmk@flint.arm.linux.org.uk>
   [ARM] sa1100fb updates
   Update sa1100fb for recent fbcon changes, and move stork LCD power
   handling into machine specific file.

<akpm@zip.com.au>
   scsi_initialise_merge_fn() will only set highio if ->type == TYPE_DISK.
   But it's called from scsi_add_lun()->scsi_alloc_sdev() before the type
   is known.  The type is -1 all the time in scsi_initialise_merge_fn()
   and scsi always bounces.
   
   This patch makes it do the right thing - just enable block-highmem for
   all scsi devices.
   
   Jens had this to say:
   
   "I guess that block-highmem has been around long enough, that I can
    use the term 'historically' at least in the kernel sense :-)
   
    This extra check was added for IDE because each device type driver
    (ide-disk, ide-cd, etc) needed to be updated to not assume virtual
    mappings of request data was valid.  I only did that for ide-disk,
    since this is the only one where bounce buffering really hurt
    performance wise.  So while ide-cd and ide-tape etc could have been
    updated, I deemed it uninteresting and not worthwhile.
   
    Now, this was just carried straight into the scsi counter parts,
    conveniently, because of laziness.  A quick glance at sr shows that it
    too can aviod bouncing easily (no changes needed).  st may need some
    changes, though.  So again, for scsi it was a matter of not impacting
    existing code in 2.4 too much.
   
    So TYPE_DISK check can be killed in 2.5 if someone does the work of
    checking that it is safe.  I'm not so sure it will make eg your SCSI
    CD-ROM that much faster :-)"
   
   

<jejb@mulgrave.(none)>
   [SCSI 53c700] flag as able to do I/O from highmem

<fokkensr@fokkensr.vertis.nl>
   [PATCH] sg.c and USER_HZ, kernel 2.5.37
   
   Hi!
   
   Since the introduction of USER_HZ the SG_[GS]ET_TIMEOUT ioctls may have
   a serious BUG as userspace uses a different HZ from the HZ in kernelspace.
   
   In x86 HZ=1000 and USER_HZ=100, resulting in confusing timouts as the
   kernel measures time 10 times as fast as userspace.
   
   This patch is an attempt to fix this by transforming USER_HZ based timing to
   HZ based timing before storing it in timeout. To make sure that SG_GET_TIMEOUT
   and SG_SET_TIMEOUT behave consistently a field timeout_user is added which
   stores the exact value that's passed by SG_SET_TIMEOUT and it's returned on
   SG_GET_TIMEOUT.
   
   Rolf Fokkens
   fokkensr@fokkensr.vertis.nl
   
   P.S. this is the second post of this patch

<andmike@us.ibm.com>
   Error handler general clean up

<rmk@flint.arm.linux.org.uk>
   [ARM] Update cpufreq related sa1100 related drivers and CPU code
   This cset updates sa1100 code for the now merged cpufreq next-gen.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix sa1111 IRQ handling
   We must clear down all currently pending IRQs before servicing any
   IRQ on the chip.  This prevents immediate recursion into the
   interrupt handling paths when we service the first IRQ.

<rmk@flint.arm.linux.org.uk>
   [ARM] Prevent namespace clash with IRq numbering
   Add "IRQ_" prefix to these sa1111 irq numbers.

<davej@codemonkey.org.uk>
   [PATCH] trivial bits.
   
   Adrian Bunk went through .39-dj, and pulled out a bunch of
   trivial bits (docs changes, whitespace fixes etc)
   
    - CREDITS: update the web-address of Tigran A. Aivazian
    - Documentation/Changes: higher minimum version of reiserfsprogs
    - s/www.linuxdoc.org/www.tldp.org/g in:
      - Documentation/DocBook/sis900.tmpl
      - Documentation/kernel-docs.txt
      - Documentation/scsi-generic.txt
      - Documentation/scsi.txt
      - Documentation/sound/oss/PAS16
    - Documentation/filesystems/isofs.txt: document where to get ISO 9660
      docs from
    - Documentation/networking/00-INDEX: document that e100.txt and e1000.txt
      are present
    - typo fixes in:
      - Documentation/networking/ip-sysctl.txt
      - Documentation/s390/Debugging390.txt
      - drivers/ide/Config.help
    - MAINTAINERS:
      - update location of the emu10k1-devel and linux-mips lists
      - Remy Card is no longer ext2 maintainer
      - list Andrew Morton instead of Remy Card as second ext3 maintainer
      - update mail addresses of Riley H. Williams and Jack Hammer
      - misc whitespace -> tab fixes
    - arch/mips/kernel/time.c: correct the location of a README
    - whitespace -> tab fixes in
      drivers/net/{3c505,3c509,arcnet/arcnet,at1700,hamradio/scc,ni65,
      pcmcia/aironet4500_cs}.c and drivers/net/wan/lmc/lmc_var.h
    - drivers/pci/quirks.c: update URL
    - remove tabs/whitespace at the end of lines in:
      - drivers/tc/lk201-map.map
      - drivers/tc/lk201-remap.c
      - drivers/tc/zs.h
    - fs/jfs/jfs_logmgr.c: remove two extra empty lines
    - include/linux/auto_fs.h: s/__x86_64/__x86_64__/

<davej@codemonkey.org.uk>
   [PATCH] Various trivial module related fixes.
   
   More bits from 2.5.39-dj sucked out by Adrian Bunk.
   
    - drivers/char/toshiba.c: add
      MODULE_{PARM_DESC,AUTHOR,DESCRIPTION,SUPPORTED_DEVICE}
    - drivers/mtd/nand/nand_ecc.c: add MODULE_{AUTHOR,DESCRIPTION}
    - drivers/net/skfp/skfddi.c: add MODULE_AUTHOR
    - drivers/net/tokenring/olympic.c: remove "\n" at the end of
      MODULE_DESCRIPTION
    - fs/driverfs/inode.c: add MODULE_LICENSE
    - fs/nls/nls_cp1250.c: correct MODULE_LICENSE
    - include/linux/module.h: add "GPL v2" to the list of free software
      licenses

<davej@codemonkey.org.uk>
   [PATCH] include fix
   
   Trivial include file fix..

<greg@kroah.com>
   USB: queue_task() fixups

<rmk@flint.arm.linux.org.uk>
   [ARM] General cleanups/missed bits in previous csets
   This corrects spelling mistakes, adds missed configuration for
   cpufreq, corrects free_irq comment, etc.

<rmk@flint.arm.linux.org.uk>
   [ARM] iPAQ updates from Jamey Hicks

<greg@kroah.com>
   USB: added Palm Zire id to the visor driver, thanks to Martin Brachtl

<greg@kroah.com>
   driver core: added location of device in driverfs tree to /sbin/hotplug call.
   
   /sbin/hotplug is now called when any device is added or removed from the
   system.

<greg@kroah.com>
   USB: add a lot more driverfs files for all usb devices.

<greg@kroah.com>
   USB: Fix the name of usb hubs in driverfs.

<greg@kroah.com>
   USB: allow /sbin/hotplug to be called for the main USB device.

<david-b@pacbell.net>
   [PATCH] usbcore misc cleanup
   
   This has minor usbcore cleanups:
   
   DOC:
       - the changes passing a usb_interface to driver probe() and disconnect()
         weren't reflected in their adjacent docs.  likewise they still said
         it was possible to get a null usb_device_id (no more).
   
       - the (root) hub API restrictions from rmk's ARM patch weren't
         flagged
   
       - mention the non-dma-coherent cache issue for usb_buffer_alloc()
   
       - mention disconnect() cleanup issue with usb_{control,bulk}_msg()
         [ you can't cancel those urbs from disconnect() ]
   
   CODE
       - make driver ioctl() use 'usb_interface' too ... this update
         also resolves an old 'one instance per device' bad assumption
   
       - module locking on driver->ioctl() was goofy, kept BKL way too
         long and didn't try_inc_mod_count() like the rest of usbcore
   
       - hcd unlink code treated iso inappropriately like interrupt;
         only interrupt still wants that automagic mode
   
       - move iso init out of ohci into shared submit_urb logic
   
       - remove interrupt transfer length restriction; hcds that don't
         handle packetization (just like bulk :) should be updated,
         but device drivers won't care for now.

<greg@kroah.com>
   USB: fix typo from previous schedule_task() patch.

<david-b@pacbell.net>
   [PATCH] ehci-hcd, urb queuing
   
   In doing some more extensive testing of the urb queueing behavior,
   I noticed that (a) IOC wasn't always being set for each urb, while
   for now it needs to be set; (b) a qh patchup wasn't done quite
   where it should be.  This resolves those two issues, as well
   as making it a bit less noisy to unlink lots of urbs at the once.

<david-b@pacbell.net>
   [PATCH] ohci-hcd, paranoia
   
   In a test where some memory corruption happened, I noticed an
   oops (null pointer exception in_irq) that's avoidable.  Here's
   a patch that avoids it ... anyone seeing the err() is likely
   to hang some process, but that's better than the alternative.
   (Also inlines some used-once routines, saving a bit of space
   to make up for the new diagnostic.)

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB-storage: problem clearing halts
   
   Greg, attached is a patch designed for diagnostic purposes.  Please apply
   to the 2.5 tree -- yes, we'll be removing this at some point in the future.
   
   It appears that we have a problem clearing halts.  This patch causes a very
   clear message to be printed whenever a usb_stor_clear_halt() manages to
   work.  So far, I haven't seen such a thing happen.  And I've seen _lots_ of
   STALL conditions.
   
   This problem has likely been around for a while... however, it hasn't been
   noticed before because usb-storage was difficult to use because of other
   bugs.  Heck, the most recent 'bk pull' is the first one for me in _months_
   which let me boot all the way into X11.
   
   I'm going to hold my patch queue until this is resolved.  On my test setup,
   it's easy to see this failing.  I've tried with 4 different devices, with
   both UHCI and EHCI drivers.  I don't want to confuse this problem with
   other patches...
   
   'result' in this function always seems to be -32.  Which is odd, because
   control endpoints shouldn't do that.
   
   I'm open to suggestions as to where to look for this bug, but my instincts
   are telling me that this is a core or HCD issue, not a usb-storage issue.
   
   On a positive note, this means that the error-recovery system gets a good
   workout.

<david-b@pacbell.net>
   [PATCH] usb_sg_{init,wait,cancel}()
   
   Here are the scatterlist primitives there's been mail about before.
   Now the code has passed basic sanity testing, and is ready to merge
   into Linus' tree to start getting wider use.  Greg, please merge!
   
   To recap, the routines are a utility layer packaging several usb
   core facilities to improve system performance.  It's synchronous.
   The code uses functionality that drivers could use already, but
   generally haven't:
   
       - Request queueing.  This is a big performance win.  It lets
         device drivers help the hcds avoid wasted i/o bandwidth, by
         eliminating irq and scheduling latencies between requests.  It
         can make a huge difference at high speed, when the latencies
         often exceed the time to handle each i/o request!
   
       - The new usb_map_sg() primitives, leveraging IOMMU hardware
         if it's there (better than entry-at-a-time mapping).
   
       - URB_NO_INTERRUPT transfer flag, a hint to hcds that they
         can avoid a 'success irq' for this urb.  Only the urb for
         the last scatterlist entry really needs an IRQ, the others
         can be eliminated or delayed.  (OHCI uses this today, and
         any HCD can safely ignore it.)
   
   The particular functionality in these APIs seemed to meet Matt's
   requirements for usb-storage, so I'd hope the 2.5 usb-storage
   code will start to use these routines in a while.  (And maybe
   those two scanner drivers: hpusbscsi, microtek.)
   
   Brief summary of testing:  this code seems correct for normal
   reads and writes, but the fault paths (including cancelation)
   haven't been tested yet.  Both EHCI and OHCI seem to be mostly
   OK with these more aggressive queued loads, but may need small
   updates (like the two I sent yesterday).  Unfortunately I have
   to report that UHCI and urb queueing will sometimes lock up my
   hardware (PIIX4), so while we're lots better than 2.4 this is
   still a bit of a trouble spot for now.
   
   I'll be making some testing software available shortly, which
   will help track down remaining HCD level problems by giving the
   queuing APIs (and some others!) a more strenuous workout than
   most drivers will, in their day-to-day usage.
   
   - Dave

<randy.dunlap@verizon.net>
   [PATCH] hc_sl811 build and memory leak
   
   It needs s/malloc.h/slab.h/ .
   It also forgets to free some memory on an error exit patch.
   Patch for 2.5.39 follows.

<david@gibson.dropbear.id.au>
   [PATCH] Squash warning in fs/devfs/base.c
   
   This removes an unused label in fs/devfs/base.c

<torvalds@home.transmeta.com>
   Linux v2.5.40
Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.