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

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

Change log for patch v2.5.69

Summary of changes from v2.5.68 to v2.5.69
============================================

<aia21@cantab.net>
   NTFS: Add handling for initialized_size != data_size in compressed files.

<aia21@cantab.net>
   NTFS: Update version

<aia21@cantab.net>
   NTFS: Minor updates

<aia21@cantab.net>
   NTFS: Remove compile warning for newer gcc.

<aia21@cantab.net>
   unistr.c:
     Typo fix.

<maxk@qualcomm.com>
   [Bluetooth]
   Use very short disconnect timeout for SCO connections. They cannot
   be reused and therefor there is no need to keep them around.

<aia21@cantab.net>
   NTFS: Reduce function local stack usage from 0x3d4 bytes to just 
   noise in fs/ntfs/upcase.c. (Randy Dunlap <rddunlap@osdl.ord>)

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE 1: Convert instruction decoding from switch() to table.

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE 2: Take advantage of the CPDO functions behaviour.
   
   SingleCPDO, DoubleCPDO and ExtendedCPDO always set the destination
   register type to their operating type (single, double, extended
   respectively) when they complete successfully (nRc != 0).  This
   means that we know what size result will be generated, and we don't
   have to fetch it from the fType array.
   
   In fact, since we know "nType" will be the type of the operand,
   we don't even need to calculate value of Fd unless we need to
   convert the result to the destination type.

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE 3: Eliminate setting of fType in CPDO worker functions.
   
   Extending the idea in patch 2, we can eliminate the setting of fType
   in {Single,Double,Extended}CPDO functions and always set it in
   fpa11_cpdo.c to the ultimate destination size.

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE 4: Eliminate getFd from CPDO worker functions.
   
   Eliminate getFd from {Single,Double,Extended}CPDO by passing a
   pointer to the destination register into these functions.  Use this
   same pointer when converting the destination register to the required
   type.

<rmk@flint.arm.linux.org.uk>
   [ARM] NWFPE 5: Eliminate use of Fd
   
   Slightly better performance can be obtained by eliminating Fd and
   calculating it after the math operation.

<aia21@cantab.net>
   NTFS: 2.1.2 release: Fix buggy free cluster and free inode determination logic.

<aia21@cantab.net>
   NTFS: Fix silly porting typo.

<aia21@cantab.net>
   NTFS: Typo fix.

<aia21@cantab.net>
   NTFS: Fix compiler warnings on big endian machines.

<maxk@qualcomm.com>
   [Bluetooth]
   Kill incoming SCO connection when SCO socket is closed

<marcel@holtmann.org>
   [Bluetooth] Add support for the Ultraport Module from IBM
   
   This patch adds the specific vendor and product id's for the
   Bluetooth Ultraport Module from IBM. This is needed, because
   the device itself don't uses the USB Bluetooth class id.

<marcel@holtmann.org>
   [Bluetooth] Use R1 for default value of pscan_rep_mode
   
   Most devices seem to use R1 for pscan_rep_mode to save power
   consumption, so R1 is preferable for default value, if there
   is no entry in the inquiry cache. Using R1 will improve the
   average of connect time in many cases.

<maxk@qualcomm.com>
   [Bluetooth] HCI USB driver update. Support for SCO over HCI USB.
   URB and buffer managment rewrite.

<maxk@qualcomm.com>
   [Bluetooth] Don't forget to set HCI device owner in USB driver.

<aia21@cantab.net>
   super.c::parse_ntfs_boot_sector(): Correct the check for 64-bit clusters (Philipp Thomas)

<ralphs@org.rmk.(none)>
   [NWFPE] Performance improvements [Part 1]
   
   This is the first of a series of patches to NWFPE, which aim to bring
   the performance improvements from the netwinder.org CVS tree into the
   mainline ARM kernel.
   
   This patch is merely a reformatting of the NWFPE sources.  All files
   were processed with "indent -kr -i8 -ts8 -sob -l132 -ss" and a few
   manual fixups. Exception: the softfloat files have not been touched.
   
   This patch should be applied after the 5 patches previously published
   by RMK on linux-arm-kernel have been applied.

<ralphs@org.rmk.(none)>
   [NWFPE] performance improvements [Part 2]
   
   Second part of NWFPE improvements.  Builds on top of patch 1464/1.
   
   Remove unused code.  And fix a function prototype to match function.
   No impact on generated code or NWFPE performance.

<ralphs@org.rmk.(none)>
   [PATCH] performance improvements [Part 3]
   
   NWFPE performance improvements, part three.
   
   A minor simplification - as (opcode & MASK_ARITHMETIC_OPCODE) >> 20
   is frequently used, compute that quantity once and store it.

<ralphs@org.rmk.(none)>
   [NWFPE] performance improvements [Part 4]
   
   Fourth part of NWFPE performance improvements, building on patch 1466/1.
    
   This patch makes 80-bit (extended precision) a compile-time option in NWFPE.
   The effect of the extra code path on 32/64 bit operations is not as significant
   as I had first thought - speedup is between 0.7 and 1.5% depending on which
   tree (rmk or nw) you do the changes in.  However the reduction in code size,
   particularly when softfloat has the same functions cut out, may be of value
   on embedded systems.

<ralphs@org.rmk.(none)>
   [NWFPE] performance improvements [Part 5]
   
   NWFPE performance improvements, part 5.  Builds on patch 1467/1.
   
   Inline the functions getTransferLength(), getRegisterCount(),
   and getRoundingPrecision().  This buys 1.6% speed gain.

<ralphs@org.rmk.(none)>
   [NWFPE] performance improvements [Part 6]
   
   NWFPE performance improvements, part 6.  Builds on patch 1468/1.
   
   Break NWFPE initialization into separate function and call it from
   entry.S as appropriate.  Also avoid nRc variable usage in EmulateAll().
   This buys 6% speedup in NWFPE.  (Note that this is over half of the
   total speedup between original RMK and the netwinder cvs version).
   
   (note that 2.5 already has the separate initialisation, and this
   cset actually makes 2.5 conform to 2.4 function naming for this
   part. --rmk)

<rmk@flint.arm.linux.org.uk>
   [NWFPE] Clean up indentation in assembly files.

<marcel@holtmann.org>
   [Bluetooth] Respond correctly to RLS packets
   
   This patch adds the recognition and correct responding to the
   RFCOMM RLS packets to fulfil the requirements of the Bluetooth
   specification.

<stevef@smfhome1.austin.rr.com>
   Add resume key support for readdir to workaround Windows 2000 and XP server
   problem.  Update oplock handling code.  Reduce excessive stack usage in 
   link.c

<stevef@smfhome1.austin.rr.com>
   fix readdir on empty directories to only issue one network search

<trini@kernel.crashing.org>
   PPC32: Correct BASE_BAUD on IBM Redwood platforms.
   From Scott Anderson <scott_anderson@mvista.com>

<maxk@qualcomm.com>
   [Bluetooth] Update BT PCMCIA drivers to use pcmcia_register_driver().
   Patch from Christoph Hellwig <hch@lst.de>

<stevef@steveft21.austin.ibm.com>
   Unload nls if mount fails

<aia21@cantab.net>
   NTFS: load_attribute_list() bug fix from Szaka.

<andmike@us.ibm.com>
   [PATCH] 2.5.67+ scsi_release_request call queue next
   
   This patch is against 2.5.67 as of 04-14 as it needs extern for
   scsi_queue_next_request.
   
   I just compiled and booted this patch. I currently do not have a setup to
   check door lock post error recovery.
   
   -andmike
   --
   Michael Anderson
   andmike@us.ibm.com
   
   
   DESC
   The patch adds a call to scsi_queue_next_request from scsi_release_request. It
   also removes a call in scsi_eh_lock_done to scsi_put_command.
   scsi_release_request will do a call to scsi_put_command if needed.
   EDESC
   
   
    drivers/scsi/scsi.c       |    2 ++
    drivers/scsi/scsi_error.c |    4 ----
    2 files changed, 2 insertions(+), 4 deletions(-)

<stern@rowland.harvard.edu>
   [PATCH] Trivial patch for scsi logging text string
   
   Greg:
   
   This patch fixes a very minor bobble in a kernel logging string (excess
   blank space following the \n).  Please apply.
   
   Alan Stern

<atulm@lsil.com>
   Update megaraid to version 2.03

<jejb@raven.il.steeleye.com>
   Fix megaraid compile warnings

<jejb@raven.il.steeleye.com>
   Fix megaraid module ownership
   
   Move to using the .owner field of fops

<shaggy@shaggy.austin.ibm.com>
   JFS: Avoid rare deadlock

<david-b@pacbell.net>
   [PATCH] USB: fix for deadlock in v2.5.67
   
   The patch below should resolve the keyboard problem -- just reorders two
   lines so the lock isn't held after the device's records get deleted, so
   the order is what it should always have been.

<agrover@groveronline.com>
   ACPI: interpreter update to 20030418
   - Fix for big-endian arcitectures

<agrover@groveronline.com>
   ACPI: Fix link devices on SMP systems (Dan Zink)

<acme@conectiva.com.br>
   o net: new module infrastructure for net_proto_family
     
   Next batch of changesets will fix the legacy protocols (IPX, LLC, etc).
   Tested with LLC and IPX already.

<yoshfuji@linux-ipv6.org>
   [IPSEC]: nexthdr in xfrm6_input needs to be int.

<davem@nuts.ninka.net>
   [PKT_SCHED]: Proper module refcounting for packet classifiers.

<davem@nuts.ninka.net>
   [PKT_SCHED]: Proper module refcounting for packet schedulers.

<jgarzik@redhat.com>
   Modernize rcpci45 I2O LAN driver (#204):
   * Convert to PCI DMA mapping API (Francios Romieu).  Gets driver
     compiling again.  Fixes bugzilla bug #204.
   * use SET_MODULE_OWNER
   * remove MOD_*_USE_COUNT from all but one place
     (and add FIXME to that one place)
   * fix printk in rclanmtl.c, though more work is needed

<jgarzik@redhat.com>
   [rcpci45] typo fix: s/virual/virtual/

<torvalds@home.transmeta.com>
   Fix-ups for i830 from Arjan

<torvalds@home.transmeta.com>
   Interrupt handlers should return whether the interrupt
   was for them or not, so that the irq subsystem can properly
   handle screaming shared interrupts.
   
   So change the irq handlers to return a "irqretval_t", which
   is either IRQ_HANDLED or IRQ_NONE.

<akpm@digeo.com>
   [PATCH] 3c574_cs fixes
   
   - It was doing spin_lock_irqsave()/spin_unlock()
   
   - Can't free the skb inside local_irq_save(): kfree_skb ends up running
     local_bh_enable(), which enables interrupts.

<akpm@digeo.com>
   [PATCH] Fix nc98 partition parser link error
   
   Fix this:
   
   fs/partitions/nec98.c:169: undefined reference to `parse_bsd'

<akpm@digeo.com>
   [PATCH] dmfe: don't free skb with local interrupts disabled
   
   dev_kfree_skb() can end up calling local_bh_enable() which goes BUG if local
   interrupts are disabled.  Apparently it can deadlock.
   
   So move the skb freeing outside the lock in the dmfe driver.  It will
   decrease the lock hold time as well.

<akpm@digeo.com>
   [PATCH] dentry_stat accounting fix
   
   From: Maneesh Soni <maneesh@in.ibm.com>
   
   This patch the corrects the dentry_stat.nr_unused calculation.
   
   In select_parent() and shrink_dcache_anon() we were not doing any adjustments
   to the nr_unused count after manipulating the dentry_unused list.  Now the
   nr_unused count is decremented if the dentry is on dentry_unused list and is
   removed from there.
   
   Further in the same routines, we have to adjust the nr_unused count again if
   the dentry is moved to the end of d_lru list for pruning.

<akpm@digeo.com>
   [PATCH] Fix and clean up DCACHE_REFERENCED usage
   
   From: Maneesh Soni <maneesh@in.ibm.com>
   
   This patch changes the way DCACHE_REFERENCED flag is used. It
   got messed up in dcache_rcu iterations. I hope this will be ok now.
   
   The flag was meant to be advisory flag which is used while
   prune_dcache() so as not to free dentries which have recently
   entered d_lru list. At first pass in prune_dcache the dentries
   marked DCACHE_REFERENCED are left with the flag reset. and they
   are freed in the next pass.
   
   So, now we mark the dentry as DCACHE_REFERENCED when it is first
   entering the d_lru list in dput() and resetthe flag in prune_dcache().
   If the flag remains reset in the next call to prune_dcache(), the
   dentry is then freed.
   
   Also I don't think any file system have to use this flag as it is taken
   care by the dcache layer. The patch removes such code from a few of file
   systems. Moreover these filesystems were anyway doing worng thing as they
   were changing the flag out of dcache_lock.
   
   Changes:
   o dput() marks dentry DCACHE_REFERENCED when it is added to the dentry_unused
     list
   o no need to set the flag in dget, dget_locked, d_lookup as these guys anyway
     increments the ref count.
   o check the ref count in prune_dcache and use DCACHE_REFERENCED flag just for
     two stage aging.
   o remove code for setting DACACHE_REFERENCED from reiserfs, fat, xfs and
     exportfs.

<akpm@digeo.com>
   [PATCH] Fix POSIX timers to give CLOCK_MONOTONIC full
   
   The POSIX CLOCK_MONOTONIC currently has only 1/HZ resolution.  Further, it is
   tied to jiffies (i.e.  is a restatment of jiffies) rather than "xtime" or the
   gettimeofday() clock.
   
   This patch changes CLOCK_MONOTONIC to be a restatment of gettimeofday() plus
   an offset to remove any clock setting activity from CLOCK_MONOTONIC.  An
   offset is kept that represents the difference between CLOCK_MONOTONIC and
   gettimeofday().  This offset is updated when ever the gettimeofday() clock is
   set to back the clock setting change out of CLOCK_MONOTONIC (which by the
   standard, can not be set).
   
   With this change CLOCK_REALTIME (a direct restatement of gettimeofday()),
   CLOCK_MONOTONIC and gettimeofday() will all tick at the same time and with
   the same rate.  And all will be affected by NTP adjustments (save those which
   actually set the time).

<akpm@digeo.com>
   [PATCH] Fix jiffies_to_time[spec | val] and converse to use
   
   From: george anzinger <george@mvista.com>
   
   In the current system (2.5.67) time_spec to jiffies, time_val to
   jiffies and the converse (jiffies to time_val and jiffies to
   time_spec) all use 1/HZ as the measure of a jiffie.  Because of the
   inability of the PIT to actually generate an accurate 1/HZ interrupt,
   the wall clock is updated with a more accurate value (999848
   nanoseconds per jiffie for HZ = 1000).  This causes a 1/HZ
   interpretation of jiffies based timing to run faster than the wall
   clock, thus causing sleeps and timers to expire short of the requested
   time.  Try, for example:
   
   time sleep 60
   
   This patch changes the conversion routines to use the same value as
   the wall clock update code to do the conversions.
   
   The actual math is almost all done at compile time.  The run time
   conversions require little if any more execution time.
   
   This patch must be applied after the patch I posted earlier today
   which fixed the CLOCK_MONOTONIC resolution issue.

<akpm@digeo.com>
   [PATCH] get_offset_pit and do_timer_overflow vs IRQ locking
   
   From: john stultz <johnstul@us.ibm.com>, Alexander Atanasov <alex@ssi.bg>
   
   We want to make sure we update jiffies_p and count_p atomically.  So I'm
   inserting the spin_unlock_irqrestore() after we update count_p, rather then
   just before.

<akpm@digeo.com>
   [PATCH] detect_lost_tick locking fixes
   
   From: john stultz <johnstul@us.ibm.com>
   
   This patch fixes a race in the timer_interrupt code caused by
   detect_lost_tick().  Since we're doing lost-tick compensation outside
   timer->mark_offset, time can pass between time-source reads which can cause
   gettimeofday inconsistencies.
   
   Additionally detect_lost_tick() was broken for the PIT case, since the whole
   point of detect_lost_tick() is to interpolate between two time sources to
   find inconsistencies.  Additionally this could cause xtime_lock seq_lock
   reader starvation which has been causing machine hangs for SMP boxes that use
   the PIT as a time source.
   
   This patch fixes the described race by removing detect_lost_tick() and
   instead implementing the lost tick detection code inside mark_offset().
   
   Some of the divs and mods being added here might concern folks, but by not
   calling timer->get_offset() in detect_lost_tick() we eliminate much of the
   same math.  I did some simple cycle counting and the new code comes out on
   average equivalent or faster.

<akpm@digeo.com>
   [PATCH] Minor fix for driver/serial/core.c
   
   From: Jean Tourrilhes <jt@bougret.hpl.hp.com>
   
      The following command will do nothing at all on 2.5.X :
         setserial /dev/ttyS0 uart none

<akpm@digeo.com>
   [PATCH] keyboard.c Fix SAK in raw mode
   
   From: Chris Heath <chris@heathens.co.nz>
   
   Trivial fix to get the SAK key working in raw and medium raw modes.  Patch is
   against kernel 2.5.67.

<akpm@digeo.com>
   [PATCH] Make PCI scanning order the same as 2.4
   
   From: Chuck Ebbert <76306.1226@compuserve.com>
   
   2.4 builds its global PCI device list in breadth-first order.
   
   2.5 is doing the scan that way but defers the construction of the global list
   until later and then does it depth-first.  This causes devices to found in
   different order by drivers.  The below fixed that problem for me.
   
   Russell King has acked this change.

<akpm@digeo.com>
   [PATCH] Turn on NUMA rebalancing
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   I'd forgotten that I'd set this to only fire every 20s in the past, because
   it would rebalance too agressively.  That seems to be fixed now, so we should
   turn it back on.

<akpm@digeo.com>
   [PATCH] Move __set_page_dirty_buffers to fs/buffer.c
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   Move __set_page_dirty_buffers() to fs/buffer.c, as per the FIXME.

<akpm@digeo.com>
   [PATCH] Clean up various buffer-head dependencies
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   Remove page_has_buffers() from various functions, document the dependencies
   on buffer_head.h from other files besides filemap.c, and s/this file/core VM/
   in filemap.c

<akpm@digeo.com>
   [PATCH] follow_hugetlb_page fix
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   follow_hugetlb_page() drops out of the loop prematurely and fails to take the
   appropriate refcounts if its starting address was not hugepage-aligned.
   
   It looked a bit unclean too, so I rewrote it.  This fixes a bug, and more
   importantly, makes the thing readable by something other than a compiler
   (e.g.  programmers).

<akpm@digeo.com>
   [PATCH] hugetlb math overflow fix
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   And this one fixes an overflow when there is more than 4GB of hugetlb.

<akpm@digeo.com>
   [PATCH] ATI Mach64 build fix
   
   From: Geert Uytterhoeven <geert@linux-m68k.org>
   
   Atyfb: Add missing parts of reversal of Mobility changes, allowing ATI Mach64
   GX support to compile again.

<akpm@digeo.com>
   [PATCH] quotactl(): sync all quotas
   
   From: Jan Kara <jack@suse.cz>
   
     I'm resending a patch which implements quotactl(2) call for syncing
   all devices. Particulary it allows the caller not to specify the device
   for syncing and in that case quotas on all the devices are written.
   The patch is rather trivial (mostly moving the code).

<akpm@digeo.com>
   [PATCH] AIO mmap fix
   
   From: Badari Pulavarty <pbadari@us.ibm.com>
   
   Here is a small bug fix for AIO. get_user_pages() takes number
   of pages to map as argument. (not in bytes)

<akpm@digeo.com>
   [PATCH] shmdt() speedup
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   Micro-optimize sys_shmdt(). There are methods of exploiting knowledge
   of the vma's being searched to restrict the search space. These are:
   
   (1) shm mappings always start their lives at file offset 0, so only
      vma's above shmaddr need be considered. find_vma() can be used
      to seek to the proper position in mm->mmap in O(lg(n)) time.
   
   (2) The search is for a vma which could be a fragment of a broken-up
      shm mapping, which would have been created starting at shmaddr
      with vm_pgoff 0 and then continued no further into userspace
      than shmaddr + size. So after having found an initial vma, find
      the size of the shm segment it maps to calculate an upper bound
      to the virtualspace that needs to be searched.
   
   (3) mremap() would have caused the original checks to miss vma's mapping
      the shm segment if shmaddr were the original address at which
      the shm segments were attached. This does no better and no worse
      than the original code in that situation.
   
   (4) If the chain of references in vma->vm_file->f_dentry->d_inode->i_size
      is not guaranteed by refcounting and/or the shm code then this is
      oopsable; AFAICT an inode is always allocated.

<akpm@digeo.com>
   [PATCH] implement __GFP_REPEAT, __GFP_NOFAIL, __GFP_NORETRY
   
   This is a cleanup patch.
   
   There are quite a lot of places in the kernel which will infinitely retry a
   memory allocation.
   
   Generally, they get it wrong.  Some do yield(), the semantics of which have
   changed over time.  Some do schedule(), which can lock up if the caller is
   SCHED_FIFO/RR.  Some do schedule_timeout(), etc.
   
   And often it is unnecessary, because the page allocator will do the retry
   internally anyway.  But we cannot rely on that - this behaviour may change
   (-aa and -rmap kernels do not do this, for instance).
   
   So it is good to formalise and to centralise this operation.  If an
   allocation specifies __GFP_REPEAT then the page allocator must infinitely
   retry the allocation.
   
   The semantics of __GFP_REPEAT are "try harder".  The allocation _may_ fail
   (the 2.4 -aa and -rmap VM's do not retry infinitely by default).
   
   The semantics of __GFP_NOFAIL are "cannot fail".  It is a no-op in this VM,
   but needs to be honoured (or fix up the callers) if the VM ischanged to not
   retry infinitely by default.
   
   The semantics of __GFP_NOREPEAT are "try once, don't loop".  This isn't used
   at present (although perhaps it should be, in swapoff).  It is mainly for
   completeness.

<akpm@digeo.com>
   [PATCH] make alloc_buffer_head take gfp_flags
   
   - alloc_buffer_head() should take the allocation mode as an arg, and not
     assume.
   
   - Use __GFP_NOFAIL in JBD's call to alloc_buffer_head().
   
   - Remove all the retry code from jbd_kmalloc() - do it via page allocator
     controls.

<akpm@digeo.com>
   [PATCH] use __GFP_REPEAT in pte_alloc_one()
   
   Remove all the open-coded retry loops in various architectures, use
   __GFP_REPEAT.
   
   It could be that at some time in the future we change __GFP_REPEAT to give up
   after ten seconds or so, so all the checks for failed allocations are
   retained.

<akpm@digeo.com>
   [PATCH] use __GFP_REPEAT in pmd_alloc_one()
   
   Convert all pmd_alloc_one() implementations to use __GFP_REPEAT

<akpm@digeo.com>
   [PATCH] Disallow swapoff if there is insufficient memory
   
   From: Hugh Dickins <hugh@veritas.com>
   
   First of three small "stop swapoff" patches based on 2.5.67-mm3:
   
   stop swapoff 1/3 vm_enough_memory?
   
   Before embarking upon swapoff, check vm_enough_memory.  Mainly
   for consistency in the overcommit_memory 2 (strict accounting) case:
   fail with -ENOMEM if it wouldn't let the amount removed be committed.
   
   Will always succeed in the overcommit_memory 1 case, as it should in
   root-shoot-foot mode.  In the overcommit_memory 0 case, well, I don't
   care much either way, so opted for the simplest code: no special case.
   Which means it could now fail at the start; but that's unlikely (case 0
   is over-generous) and only when it would have got stuck later on anyway.

<akpm@digeo.com>
   [PATCH] Permit interruption of swapoff
   
   From: Hugh Dickins <hugh@veritas.com>
   
   Sometimes you start a swapoff and, seeing how long it takes, wish you had
   not: allow signal to interrupt and stop swapoff.

<akpm@digeo.com>
   [PATCH] oom-kill: preferentially kill swapoff
   
   From: Hugh Dickins <hugh@veritas.com>
   
   The current behaviour is that once swapoff has filled memory, other tasks get
   OOMkilled one by one until swapoff completes, or more likely hangs.  It is
   better that swapoff be the first choice for OOMkill.
   
   The patch changes the oom-killer so that it will kill off any
   currently-running swapoff instance before killing any other task.
   
   (Bit kludgy, couldn't think of a better way)

<akpm@digeo.com>
   [PATCH] DAC960: add call to blk_queue_bounce_limit
   
   From: Dave Olien <dmo@osdl.org>
   
   The following patch adds a call to blk_queue_bounce_limit to the DAC960
   driver.  Otherwise, it uses bounce buffering more than it needs to.

<akpm@digeo.com>
   [PATCH] shm_get_stat-handle-hugetlb-pages.patch
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   shm_get_stat() didn't know about hugetlbpage-backed shm.

<akpm@digeo.com>
   [PATCH] Allocate hd_structs dynamically
   
   From: Badari Pulavarty <pbadari@us.ibm.com>
   
   Here is the patch to allocate hd_struct dynamically as we find
   partitions.
   
   There are 3 things I didn't like in the patch.
   
   1) The patch allocates 15 pointers instead of 15 hd_structs.  (incase of
      s= csi).  I was really hoping to get rid of "15" and make it really
      dynamic.  (In ca= se if we ever want to support more than 15 partitions
      per disk etc..).=20 I was thought about making it a linked list, but
      blk_partition_remap() needs to get to hd_struct for a given partition
      everytime we do IO.  So linked list would be bad, we really need direct
      access to partition in= fo.
   
   2) I had to add "partno" to hd_struct, since part_dev_read() used to calc=
      ulate partition number from the address before.
   
   3) kmalloc() failure in add_partition() will be silently ignored.
   
   It saves 2048 bytes per disk.

<akpm@digeo.com>
   [PATCH] fix CONFIG_NOMMU mismerges
   
   From: Christoph Hellwig <hch@lst.de>
   
   we already have better stubs in nommu.c, the additional inlines in mm.h only
   cause compile failures.

<akpm@digeo.com>
   [PATCH] Extend map_vm_area()/get_vm_area()
   
   From: Christoph Hellwig <hch@infradead.org> and David M-T
   
   The ia64 port can use vmap(), but needs to be able to specify the protection
   flags and the resulting vma's vm_flags.
   
   The patch adds the two extra args to vmap(), updates the two callers and
   fixes some comment spellos.

<akpm@digeo.com>
   [PATCH] don't shrink slab for highmem allocations
   
   From: William Lee Irwin III <wli@holomorphy.com>
   
   If one's goal is to free highmem pages, shrink_slab() is an ineffective
   method of recovering them, as slab pages are all ZONE_NORMAL or ZONE_DMA.
   Hence, this "FIXME: do not do for zone highmem".  Presumably this is a
   question of policy, as highmem allocations may be satisfied by reaping slab
   pages and handing them back; but the FIXME says what we should do.

<akpm@digeo.com>
   [PATCH] prepare device mapper for larger dev_t
   
   From: Joe Thornber <thornber@sistina.com>
   
   The only other thing that will need changing in dm to cope with 64bit
   dev_t concerns the bitset I'm using to keep track of allocated minor
   numbers.  A trivial patch like this would work for now:

<akpm@digeo.com>
   [PATCH] smbfs: larger dev_t preparation
   
   Discard fewer bits of the device number recd with smb.
   This does not depend on anything else.
   
   Andries

<akpm@digeo.com>
   [PATCH] Fix nfsctl for larger dev_t
   
   From: Andries.Brouwer@cwi.nl
   
   The old NFS control interface passes dev_t's in from userspace.  This patch
   keeps it working when the size of dev_t changes.
   
   This is a deprecated interface - new nfs-utils uses an ascii representation
   in exportfs.
   
   Acked by Neil.

<akpm@digeo.com>
   [PATCH] Aggregated disk statistics
   
   From: Rick Lindsley <ricklind@us.ibm.com>
   
   To access all the system's disk statitics we currently need to access one
   sysfs file per disk.  This clearly will not be acceptable with thousands of
   disks.
   
   The patch aggregates the system-wide statistics in real time and exposes them
   via /proc/diskstats

<akpm@digeo.com>
   [PATCH] fbdev build fix
   
   - fb_prepare_logo() is calling the undefined find_logo().  I think it wants
     fb_find_logo().
   
   - fb_prepare_logo is not __init, therefore fb_find_logo() cannot be __init.

<hch@lst.de>
   [PATCH] devfs: input
   
   Make sure input always uses devfs_remove.  While at it I've also
   remove lots of code duplication - every upper input driver contained
   the code surrounding devfs_unregister in two identical copies.

<hch@lst.de>
   [PATCH] devfs: dvb

<hch@lst.de>
   [PATCH] devfs: usb

<hch@lst.de>
   [PATCH] devfs: sound

<hch@lst.de>
   [PATCH] devfs: videodev

<hch@lst.de>
   [PATCH] devfs: miscdev

<hch@lst.de>
   [PATCH] devfs: s390

<hch@lst.de>
   [PATCH] devfs: ipmi

<hch@lst.de>
   [PATCH] devfs: swim3

<hch@lst.de>
   [PATCH] devfs: uml

<hch@lst.de>
   [PATCH] devfs: remove devfs_unregister

<hch@lst.de>
   [PATCH] devfs: switch over ubd to ->devfs_name
   
   Duh, ubd is partitioned.

<hch@lst.de>
   [PATCH] devfs: remove dead devfs code in dasd
   
   Dasd is partitioned - all devfs stuff is handled by the gendisk layer.

<hch@lst.de>
   [PATCH] devfs: superflous devfs_remove in scsi
   
   Already handled by the gendisk layer.

<hch@lst.de>
   [PATCH] devfs: introduce devfs_mk_bdev
   
   Replaces devfs_register for block devices.  Note that we do NOT pass in
   an operaion vector here - it was unused in devfs_register already
   and our block device code fundamentally ties the operations to the
   gendisk.  There will be only very few callers of this one anyway..

<hch@lst.de>
   [PATCH] devfs: gendisk.devfs_name updates
   
   Previously gendisk.devfs_name was used only for partitioned devices
   or CDroms, and for the latter it was slightly broken.  Fix it to
   work genericly for all gendisks.

<hch@lst.de>
   [PATCH] devfs: loop
   
   This and the next patches switches over drivers to gendisk.devfs_name.

<hch@lst.de>
   [PATCH] devfs: nbd

<hch@lst.de>
   [PATCH] devfs: rd

<hch@lst.de>
   [PATCH] devfs: swim3

<hch@lst.de>
   [PATCH] devfs: aztcd

<hch@lst.de>
   [PATCH] devfs: gscd

<hch@lst.de>
   [PATCH] devfs: optcd

<hch@lst.de>
   [PATCH] devfs: sjcd

<hch@lst.de>
   [PATCH] devfs: sonycd

<hch@lst.de>
   [PATCH] devfs: mtdblock

<hch@lst.de>
   [PATCH] devfs: xpram

<hch@lst.de>
   [PATCH] devfs: floppy
   
   The following patches switch the few drivers that have to register
   devfs entries independand of gendisks to devfs_mk_bdev.

<hch@lst.de>
   [PATCH] devfs: device-mapper

<hch@lst.de>
   [PATCH] devfs: md

<hch@lst.de>
   [PATCH] devfs: kill devfs_register_partition

<hch@lst.de>
   [PATCH] devfs: warn on block modes in devfs_register

<torvalds@penguin.transmeta.com>
   Update ensoniq driver to return whether the interrupt was for it
   or not.

<hch@lst.de>
   [PATCH] initrd.h
   
   split the initrd stuff out of blk.h, it's only needed in the boot code
   and the ramdisk driver.

<hch@lst.de>
   [PATCH] rename end_request in floppy() and raid1
   
   In preparation of getting rid of the LOCAL_END_REQUEST mess.

<hch@lst.de>
   [PATCH] replace __blk_run_queue with blk_run_queue
   
   All callers of __blk_run_queue are of the form
   
      spin_lock_irqsave(q->queue_lock, flags);
      __blk_run_queue(q);
      spin_unlock_irqrestore(q->queue_lock, flags);
   
   Replace it with a blk_run_queue that does the locking itself.

<hch@lst.de>
   [PATCH] remove dasd_get_kdev
   
   Al pointed out that it's unused after my last series of devfs patches.

<hch@lst.de>
   [PATCH] remove some junk from hd98.c's ioctl implementation
   
   Also pointed out by Al.

<hch@lst.de>
   [PATCH] remove a tiny bit of kdev_t abuse from the floppy driver

<rddunlap@osdl.org>
   [PATCH] replace URLs in Kconfig
   
   This is a patch from Robert P.J. Day that replaces www.linuxdoc.org
   (which is outdated and unspported according to www.tldp.org)
   with www.tldp.org in lots of Kconfig files.

<torvalds@home.transmeta.com>
   Fix IO-APIC vector allocation boundary case - we never want to
   allocate FIRST_SYSTEM_VECTOR as an external interrupt. It's unlikely,
   but could happen if we have a _ton_ of interrupt sources.
   
   Found by Chuck Ebbert.

<davem@nuts.ninka.net>
   [SPARC64]: A few missing pgtable __GFP_REPEAT.

<jgarzik@redhat.com>
   net driver cleanup, volume 1:
   
   Mostly updating to new irqreturn_t, but also includes some needed
   SET_MODULE_OWNER and set_bit cleanups as well.
   
   Affects: 8390, dgrs, eepro100, epic100, pcnet32, rcpci45,
   sis900, tlan

<jgarzik@redhat.com>
   net driver cleanup, volume 2
   
   morq irqreturn_t,
   some s/long flags/unsigned long flags/,
   more set_bit-on-something-other-than-long cleanups
   
   Affected drivers: epic100, fealnx, natsemi, ns83820, starfire,
   sundance, via-rhine, yellowfin.  (and also include/linux/eeprom.h)
   
   Several changes contributed by Andrew Morton.

<davem@nuts.ninka.net>
   [SPARC]: Rename signal macros SV_foo --> _SV_foo.

<jgarzik@redhat.com>
   net driver cleanup, volume 3
   
   Affected drivers: 8139cp, 8139too, 82596, b44, cs89x0, dl2k, r8169
   
   Vast majority of changes contributed by Andrew Morton.

<davem@nuts.ninka.net>
   [NET]: In sock_alloc_send_pskb, add __GFP_REPEAT when __GFP_WAIT.

<jgarzik@redhat.com>
   net driver cleanup, volume 4
   
   Affected drivers: 3c501, 3c507, 3c509, 3c5154, 3c59x, amd8111e,
   at1700, e1000, hp100, lance, smc9194, de2104x, de4x5, tulip,
   typhoon.
   
   98% contributed by Andrew Morton.

<jgarzik@redhat.com>
   net driver cleanup, volume 5
   
   Affected drivers: 3c505 (notably), depca, ni5010, ni52, ni65,
   dmfe, winbond-840.
   
   3c505 included quite a few s/int timeout/unsigned long timeout/
   changes as well, for proper jiffies comparison typing.
   
   98% contributed by Andrew Morton.

<jgarzik@redhat.com>
   net driver cleanup, volume 6
   
   Affected drivers: atp, de600, de620, eepro, eexpress, lp486e, 
   3c589_cs, axnet_cs, fmvj18x_cs, nmclan_cs, pcnet_cs, smc91c92_cs,
   xirc2ps_cs, sk98lin, xircom_cb, xircom_tulip_cb, airo, arlan,
   netwave_cs, orinoco, ray_cs, wavelan, znet
   
   98% contributed by Andrew Morton

<davem@nuts.ninka.net>
   [SPARC]: setup.c needs linux/initrd.h

<davem@nuts.ninka.net>
   [SOUND SPARC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SPARC]: Fix dumb typo in sun4c mm code.

<davem@nuts.ninka.net>
   [SPARC]: Platform code changes for irqreturn_t.

<davem@nuts.ninka.net>
   [SERIAL SPARC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SOUND]: mpu401.h needs linux/interrupt.h

<davem@nuts.ninka.net>
   [CHAR SPARC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [RTC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [FC4 SPARC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [MESSAGE FUSION]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI ESP]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI QLOGICFC]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI QLOGICISP]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI QLOGICPTI]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI AIC7XXX_OLD]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SCSI SYM53C8XX_2]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [TG3]: Update to irqreturn_t.

<davem@nuts.ninka.net>
   [NET SUN]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [MYRI_SBUS]: Update for irqreturn_t.

<davem@nuts.ninka.net>
   [SOUND PCI]: Update several drivers for irqreturn_t.

<davem@nuts.ninka.net>
   [SOUND TRIDENT]: Update for irqreturn_t.

<hch@lst.de>
   [PATCH] scsi_scan.c coding style fixes
   
   Just some random styleups I made while walking over the file
   for the devfs work.

<hch@lst.de>
   [PATCH] unexport scsi_host_get_next
   
   No drivers are using it anymore, and having this private to the
   midlayer should make proper shost refcounting easier.

<hch@lst.de>
   [PATCH] kill ASSERT_LOCK
   
   There's just one user left, and that one is in aha152x.c and thus
   clearly bogus..

<dougg@torque.net>
   scsi_mid_low_api.txt update for 2.5.67

<eli.carter@com.rmk.(none)>
   [ARM PATCH] 1508/1: use #define's for iq80321
   
   Patch from Eli Carter
   
   # Thu Apr 17 16:37:58 CDT 2003 ejc@rnd-linux-c84
   # iq80321-use-addr-defines
   #
   # Use #define's instead of hard-coded numbers for the device locations for the
   # iq80321 board.
   #
   # Diffed against linux-2.5.65-rmk1+1472-4+1502-3+1506
   # Applies cleanly to linux-2.5.67-rmk1+1502-3+1506
   #
   #  arch/arm/mach-iop3xx/mm-321.c |    4 ++--
   #  1 files changed, 2 insertions(+), 2 deletions(-)
   #

<eli.carter@com.rmk.(none)>
   [ARM PATCH] 1511/1: iop321 #define cleanup
   
   Patch from Eli Carter
   
   # Mon Apr 21 11:20:06 CDT 2003 ejc@rnd-linux-c84
   # pci-io-mem-size-defines
   #
   # Rename the IOP321_PCI_WINDOW_SIZE #defines to use
   # IOP321_PCI_{IO,MEM}_{BASE,SIZE} instead.  This makes the #defines a bit more
   # consistent.  No functional change, though it does bring up the question of
   # whether res[].end should be BASE+SIZE-1 or BASE+SIZE.
   #
   # Diffed against linux-2.5.67-rmk1+1501-3+1506+1508-10
   #
   #  arch/arm/mach-iop3xx/iop321-pci.c    |    8 ++++----
   #  include/asm-arm/arch-iop3xx/iop321.h |   10 ++++------
   #  2 files changed, 8 insertions(+), 10 deletions(-)
   #

<eli.carter@com.rmk.(none)>
   [ARM PATCH] 1510/1: use a #define for asm jump address
   
   Patch from Eli Carter
   
   # Mon Apr 21 11:11:41 CDT 2003 ejc@rnd-linux-c84
   # use-physoffset-define
   #
   # Use the PHYS_OFFSET #define instead of a hard-coded value.
   #
   # Diffed against linux-2.5.67-rmk1+1501-3+1506
   #
   #  arch/arm/boot/compressed/head-xscale.S |    2 +-
   #  1 files changed, 1 insertion(+), 1 deletion(-)
   #

<akpm@digeo.com>
   [PATCH] irqs: drivers/block
   
   update drivers/block for new IRQ API.

<akpm@digeo.com>
   [PATCH] irqs: sym2
   
   update sym2 for new IRQ API

<akpm@digeo.com>
   [PATCH] irqs: rtc
   
   update rtc driver to new IRQ API

<akpm@digeo.com>
   [PATCH] irqs in sound/
   
   Updates all sound drivers to the new IRQ API.
   
   The patch also fixes
   
   - a return-with-lock-held
   
   - a bunch of warnings and 64-bit bugs (CPU flags must be held in an
     unsigned long)
   
   - jiffies must use unsigned longs
   
   - two functions returning uninitialised values

<akpm@digeo.com>
   [PATCH] irqs: ipmi driver
   
   Update the ipmi driver to the new IRQ API

<akpm@digeo.com>
   [PATCH] irqs: watchdog drivers
   
   Update the watchdog drivers to the new IRQ API.
   
   Also, give a couple of irq handlers static scope.

<akpm@digeo.com>
   [PATCH] irqs: various char drivers
   
   Fix up a bunch of char drivers for the new IRQ API.

<akpm@digeo.com>
   [PATCH] irqs: multimedia drivers
   
   Update a couple of media drivers to the new IRQ API.
   
   Some stuff in there doesn't link btw:
   
   drivers/built-in.o: In function `rds_waitread':
   drivers/built-in.o(.text+0x6c152): undefined reference to `aci_port'
   drivers/built-in.o: In function `rds_rawwrite':
   drivers/built-in.o(.text+0x6c1a3): undefined reference to `aci_port'

<akpm@digeo.com>
   [PATCH] irqs: video drivers
   
   Update video drivers to the new IRQ API.
   
   Almost none of them compile, so it was done on-spec.

<akpm@digeo.com>
   [PATCH] irqs: 1394
   
   Update 1394 to the new IRQ API

<akpm@digeo.com>
   [PATCH] parport_serial fix
   
   parport_serial is calling a couple of 8250 driver functions with no prototypes
   in scope.
   
   Turns out it was calling them with too many args, too.

<akpm@digeo.com>
   [PATCH] ax25 build fix
   
   spin_lock() does not take a spinlock_t**

<akpm@digeo.com>
   [PATCH] irqs: IRDA
   
   Update the IRDA drivers to the new IRQ API.

<akpm@digeo.com>
   [PATCH] irqs: ISDN
   
   Update ISDN for the new IRQ API.

<akpm@digeo.com>
   [PATCH] irqs: input drivers
   
   Update the input and joystick drivers to the new IRQ API.

<akpm@digeo.com>
   [PATCH] irqs: hotplug drivers
   
   Update hotplug and pcmcia drivers to the new IRQ API.

<jgarzik@pobox.com>
   [PATCH] fix printk when an irq doesn't get responded to

<mzyngier@freesurf.fr>
   [PATCH] Convert Alpha to the new 2.5 IRQ API
   
   This converts the Alpha architecture to the new IRQ API.  Tested on
   Jensen.

<torvalds@home.transmeta.com>
   Return IRQ_NONE for ieee1394 driver when the interrupt was for
   somebody else.

<bcollins@debian.org>
   [PATCH] 1394 updates
   
   - New irq handler prototypes.
   - Lots of un-enumurated locking fixes/cleanups (thanks in large part to
     spinlock debug compile options in the kernel).
   - Other various trivial fixes.

<paulkf@microgate.com>
   [PATCH] synclink update
   
   - Remove MODULE_USE_COUNT macros
   - Add owner member
   - Add tiocmget/tiocmset tty callbacks

<paulkf@microgate.com>
   [PATCH] synclinkmp update
   
   - Remove MODULE_USE_COUNT macros
   - Add owner member
   - Add tiocmget/tiocmset tty callbacks

<paulkf@microgate.com>
   [PATCH] synclink_cs update
   
   - Remove MODULE_USE_COUNT macros
   - Add owner member
   - Add tiocmget/tiocmset tty callbacks

<jejb@raven.il.steeleye.com>
   scsi_scan.c: cope with second inquiry failure
   
   If the second (and longer inquiry) in scsi_scan.c fails for any
   reason, we should fall back to the original (and successful)
   36 byte inquiry rather than not configuring the device.

<paulkf@microgate.com>
   [PATCH] n_hdlc update
   
   With suggestions from Chritoph Hellwig
   
   - Remove MODULE_USE_COUNT macros
   - Add owner member to struct tty_ldisc
   - Init tty_ldisc at compile time
   - make some functions static

<torvalds@penguin.transmeta.com>
   Allow gcc to generate better code for irq handling.
   
   Ok, now that most drivers have been converted to the new
   irqreturn_t, we can remove the fascist type-checks and just
   use a regular integer type which has a simpler calling
   convention.

<rml@tech9.net>
   [PATCH] trivial task_prio() fix
   
   Here is a trivial fix for task_prio() in the case MAX_RT_PRIO !=
   MAX_USER_RT_PRIO.  In this case, all priorities are skewed by
   (MAX_RT_PRIO - MAX_USER_RT_PRIO).
   
   The fix is to subtract the full MAX_RT_PRIO value from p->prio, not just
   MAX_USER_RT_PRIO.  This makes sense, as the full priority range is
   unrelated to the maximum user value.  Only the real maximum RT value
   matters.
   
   This has been in Andrew's tree for awhile, with no issue.  Also, Ingo
   acked it.

<jejb@raven.il.steeleye.com>
   irqreturn_t fixup for 53c700

<elenstev@com.rmk.(none)>
   [ARM] spelling fixes for arm
   
   Patch from Steven Cole.
   
   Here are some spelling fixes for arm.
   This was diffed against the current 2.5 tree.

<akpm@digeo.com>
   [PATCH] More careful about VMA merging
   
   The VMA merging code can merge vmas which have a ->vm_ops->close() handler.
   But this means that per-VMA resources in one of the merged VMAs will not be
   freed.
   
   Fix that up by just refusing to merge any VMA's which look "complex": they
   have special flags set or they have a ->close handler.

<ak@muc.de>
   [PATCH] Runtime memory barrier patching
   
   This implements automatic code patching of memory barriers based
   on the CPU capabilities. Normally lock ; addl $0,(%esp) barriers
   are used, but these are a bit slow on the Pentium 4.
   
   Linus proposed this a few weeks ago after the support for SSE1/SSE2
   barriers was introduced. I now got around to implement it.
   
   The main advantage is that it allows distributors to ship less binary
   kernels but still get fast kernels. In particular it avoids the
   need of a special Pentium 4 kernel.
   
   The patching code is quite generic and could be used to patch
   other instructions (like prefetches or specific other critical
   instructions) too.
   Thanks to Rusty's in kernel loader it also works seamlessly for modules.
   
   The patching is done before other CPUs start to avoid potential
   erratas with self modifying code on SMP systems. It makes no
   attempt to automatically handle assymetric systems (an secondary
   CPU having less capabilities than the boot CPU). In this
   case just boot with "noreplacement"

<patmans@us.ibm.com>
   [PATCH] fix ppa locking and oops
   
   We no longer hold the host_lock while calling the detect function, so
   re-acquiring the lock while (without even unlocking it) in ppa_detect is
   very wrong. References to the possibly NULL value hreg can also cause
   oopses.

<torvalds@home.transmeta.com>
   Add the Xeon variations (Pentium-III and P4-based) to the list
   of Intel CPU optimizations. From Andi Kleen.

<acme@conectiva.com.br>
   o rtnetlink: use C99 struct init style

<acme@conectiva.com.br>
   o atm/lec.c: use C99 struct init style

<acme@conectiva.com.br>
   o rtnetlink_dev: use C99 struct init style

<torvalds@home.transmeta.com>
   Fix irq event debug print-out, and add stack dump which can
   give a clue about what the context was that might have caused
   the spurious interrupt.

<elenstev@mesatop.com>
   [SPARC64]: Spelling fixes.

<davem@nuts.ninka.net>
   [SPARC64]: Update defconfig.

<davem@nuts.ninka.net>
   [NETLINK]: Fix minor numbers in netlink_dev.c

<davem@nuts.ninka.net>
   [SPARC]: CLOCK_MONOTONIC fixes, from x86.

<davem@nuts.ninka.net>
   [SPARC64]: Add LOOP_{GET,SET}_STATUS64 to ioctl32.

<shemminger@osdl.org>
   [BRIDGE]: New maintainership.

<steve@gw.chygwyn.com>
   [IP_GRE]: Kill duplicate update_pmtu call.

<mikenc@us.ibm.com>
   [PATCH] fixes compile errors in psi240i.c
   
   The attached patch fixes the compile errors in psi240i.c described in
   Bugzilla bug #468 at http://bugme.osdl.org/show_bug.cgi?id=468. It was
   built against 2.5.68. I do not have the hardware, so I have only
   verified that it compiles correctly.

<jejb@raven.il.steeleye.com>
   Add irqreturn_t to scsi/psi240i

<axboe@suse.de>
   [PATCH] request structure stack corruption
   
   This fixes a problem with drivers that have request on the stack for
   some operations, like IDE.  If we wake before releasing the request, the
   stack may have already disappeared beneath us when the rest of
   end_that_request_last() is run.
   
   Fix by making sure the completion is done _last_.

<neilb@cse.unsw.edu.au>
   [PATCH] Update umem to new request_irq interface
   
   request_irq requires a handler that returns irqreturn_t,
   so mm_interrupt now returns the appropriate value

<neilb@cse.unsw.edu.au>
   [PATCH] Update umem driver for newer cards.

<lkml@shemesh.biz>
   [PATCH] Fix IRDA irq handler prototype
   
   This fixes a mismatch in declaration between "irport_interrupt" in the
   header files (returning void) and in the definition (returning
   irqreturn_t).

<aia21@cantab.net>
   NTFS: Fix typo and release 2.1.3.

<ahaas@airmail.net>
   [PATCH] C99 initializers for drivers/scsi
   
   This set of 4 patches convert files to use C99 initializers. The patches
   are against the current BK.

<jejb@raven.il.steeleye.com>
   Fix ncr53c8xx for PA-RISC Zalon SCSI driver
   
   Although this driver is ancient and unmaintained, it is still used
   by the 53c700 based PA-RISC zalon.  The changes are:
   
   - Add slave_configure entry for zalon
   - Moved to new error handling
   - changed to irqreturn_t for interrupt handler

<jejb@raven.il.steeleye.com>
   Compile fix for 53c700 on PA-RISC

<zaitcev@redhat.com>
   [SPARC]: Colin Gibbs gcc-3.x support.

<ebrower@usa.net>
   [SPARC]: Refactor AUXIO support.

<acme@conectiva.com.br>
   o net: module refcounting for sk_alloc/sk_free
   
   I had to move the rtnetlink_init and init_netlink calls to af_netlink init time, so that
   the sk_alloc called down the rtnetlink_init callchain is done after the PF_NETLINK
   net_proto_family is sock_registered, and because of that the af_netlink init function
   call had to be moved to earlier by means of subsys_initcall (DaveM's suggestion).

<davem@nuts.ninka.net>
   [NET]: Do not let GCC reload pointers after NULL checks.

<davem@nuts.ninka.net>
   [SPARC64]: Kill unnecessary MOD_{INC,DEC}_USE_COUNT in cpwatchdog and envctrl drivers.

<dlstevens@us.ibm.com>
   [IGMPv3/MPDv2]: Bug fixes and ipv4 multiprotocol API.

<dlstevens@us.ibm.com>
   [IGMP]: Fix bug in broadcast handling.

<whydoubt@yahoo.com>
   [NETFILTER IPV4]: Fix typo in Kconfig.

<yoshfuji@linux-ipv6.org>
   [IPV6]: dst_alloc() clean-up.

<rob@osinvestor.com>
   [SPARC]: Kill initialize_secondary, unused.

<davem@nuts.ninka.net>
   [NET]: SG without checksum support is illegal.

<marcel@holtmann.org>
   [Bluetooth] Fix L2CAP binding to local address
   
   In the function l2cap_connect_ind() we compare the bounded
   address with the address of an incoming connection, but we
   have to compare it with the local address of the HCI device.

<stevef@steveft21.ltcsamba>
   fix hang in truncate setting file size

<torvalds@home.transmeta.com>
   Never merge vma's that have mapping-private data.

<agrover@groveronline.com>
   ACPI: Add missing include

<agrover@groveronline.com>
   ACPI: Indicate whether we handled the interrupt or not

<hch@lst.de>
   [PATCH] i2c: remove dead junk from i2c-sensors.h

<hch@lst.de>
   [PATCH] i2c: remove dead code from adm1021
   
   Enough testing :)  This is the last user of some junk in i2c-sensors.h,
   so it should better go away sooner than later..

<hch@lst.de>
   [PATCH] i2c: remove dead init code from i2c-sensors.c

<hch@lst.de>
   [PATCH] i2c: bring i2c-viapro uptodate with the style guide

<akpm@digeo.com>
   [PATCH] usb: minor usb stuff
   
   - nail a couple of warnings
   
   - usbnet is not compilable with gcc-2.95.3.  Fix.

<david-b@pacbell.net>
   [PATCH] USB: hcd-pci.c catch up to dev_printk changes
   
   The preceding patch to fix this was incomplete, since
   it didn't work for the pure debug messages.  And that
   was because the DEBUG-vs-CONFIG_USB_DEBUG stuff changed
   somewhere.

<david-b@pacbell.net>
   [PATCH] usb: fix (rare?) disconnect
   
   It's not good to dereference pointers before checking
   them for null.  Seen once on a faulty device init,
   which I don't think I'd ever seen before "in the wild".
   (Caused by some other 2.5.68 strangeness.)

<baldrick@wanadoo.fr>
   [PATCH] USB speedtouch: bump the version number

<baldrick@wanadoo.fr>
   [PATCH] USB speedtouch: crc optimization

<baldrick@wanadoo.fr>
   [PATCH] USB speedtouch: compile fix
   
   The rx_inuse field no longer exists.

<marcel@holtmann.org>
   [Bluetooth] Correction of the HCI USB driver description
   
   This patch reverts the module description and other comments.

<proski@org.rmk.(none)>
   [PCMCIA] Fix compilation of cardmgr
   
   Patch from Pavel Roskin
   
   ds.h should not be including linux/device.h when compiling userspace
   code.

<hch@de.rmk.(none)>
   [PCMCIA] remove unused files
   
   From Christoph Hellwig
   
   There's no need to keep the stubs around.

<proski@org.rmk.(none)>
   [PCMCIA] Fix oops in validate_mem when CONFIG_PCMCIA_PROBE=n
   
   If I compile a recent 2.5.x kernel without CONFIG_ISA defined, I get
   an oops in validate_mem().  Stack trace contains 0x6b6b6b6 - a clear
   sign that freed memory is being accessed.
   
   It's the second validate_mem() in drivers/pcmcia/rsrc_mgr.c - the one
   used when CONFIG_PCMCIA_PROBE is not defined.  It turns out the memory
   is freed in do_mem_probe() when it's called from validate_mem().
   
   The solution is to use the same trick as in the first validate_mem().
   This problem is quite serious and it's not specific to the plx9052
   driver. I see it with yenta_socket as well.

<rmk@flint.arm.linux.org.uk>
   [PCMCIA] Don't cache CIS bytes found to be invalid.
   
   Several PCMCIA cards I have here do not work correctly over a
   suspend/resume cycle; the PCMCIA code believes that the card has
   been changed in the slot, and therefore performs a remove/insert
   cycle.
   
   This seems to be because the card returns more or less random data
   when reading memory space, leading to the CIS cache mismatching
   the card data.  This in turn is caused because we try to read CIS
   data from both the attribute and memory spaces, and we add the result
   to the CIS cache whether or not the returned data was valid.
   
   We therefore convert the CIS cache to use a linked list, and provide
   a way to remove cached data from that list.  We also replace the
   "s->cis_used=0;" construct with a function "destroy_cis_cache(s)"
   which clearly describes what we're doing.

<rmk@flint.arm.linux.org.uk>
   [PCMCIA] Make cb_release_cis_mem() local to cardbus.c
   
   The cardbus CIS parsing code does not use the PCMCIA resource
   subsystem, so there isn't any point in freeing its memory when
   we remove PCMCIA memory resources.  We also free CIS resources
   immediately prior to calling cb_free().  We might as well move
   the function call into cb_free(), thereby making all references
   to cb_release_cis_mem() local to cardbus.c

<greg@kroah.com>
   [PATCH] USB: cdc-acm: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: usb-serial core: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: belkin_sa: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: digi_acceleport: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: ftdi_sio: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: keyspan_pda: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: kl5kusb105: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: kobil_sct: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: mct_u232: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: pl2303: add support for new tty tiocmget and tiocmset functions.

<greg@kroah.com>
   [PATCH] USB: whiteheat: add support for new tty tiocmget and tiocmset functions.

<bcollins@debian.org>
   [PATCH] IEEE1394/Firewire updates
   
   - Workaround possible reset loop trying to get IRM sanity
   - Logical Unit DIrectory (LUN) support for sbp2(scsi) devices.
   - Fix hostnum allocation.
   - Whitespace and formatting sync with 2.4 branch.
   - Make pcilynx return IRQ_NONE for no interrupts to handle.

<pavel@ucw.cz>
   [PATCH] Fix SWSUSP & !SWAP
   
   Swsusp without swap makes no sense, and leads to compilation
   failure.  So make the dependency clear in the config files.

<elenstev@mesatop.com>
   [PATCH] Avast there ye swabs, prepare to fire a broadside!
   
   Chuck Ebbert notes that kernel developers are apparently pirates in the
   _original_ meaning of the word, and like to "cannonicalize".
   
   I prepared a patch in case anyone cares enough about this.  I tested on
   i386 by building and booting.

<ahaas@airmail.net>
   [PATCH] C99 initializers for drivers/block/genhd.c

<ahaas@airmail.net>
   [PATCH] Fix C99 initializers in fs/nfs/nfs4proc.c

<ahaas@airmail.net>
   [PATCH] C99 initializers for fs/proc/proc_misc.c

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (1/12)
   
      Christoph's fix for devfs problems with pty.

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (2/12)
   
      Instead of copying tty_driver into tty_struct we put a reference
   in there.  tty->driver turned into a pointer, users updated.  Large, but
   trivial

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (3/12)
   
      /proc/tty/drivers converted to seq_file

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (4/12)
   
      Instead of registering "drivers" for /dev/tty, /dev/vc/0, /dev/ptmx
   and /dev/console (they are never looked up since tty_open() special-cases
   them and they should not be looked up - these devices are remapped on open)
   we register corresponding chrdev ranges and devfs nodes directly.
      /proc/tty/drivers code updated to keep the contents unchanged

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (5/12)
   
      new field - tty->tty_name;
      initialized to <driver->name><tty index+driver->base_name>
   when we allocate tty_struct.  Drivers code switched to use of that
   beast (in debugging printks, mostly).  Large, but trivial.

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (6/12)
   
      tty->tty_index added; we initialize it with minor(tty->device) -
   tty->driver->minor_start.  Majority of remaining tty->device uses had
   that form and are switched to use of tty->index.

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (7/12)
   
      sanitized driver->driver_name initialization and use

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (8/12)
   
      * generic_serial.c typo fix (->driver used instead of correct
   ->driver_data)
      * tubio cleaned up

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (9/12)
   
      * drivers/char/rio/* supports up to 4 boards, each with up to 128
   lines.  It used to share termios for 1st/3rd and 2nd/4th boards,  Fixed.
      * cleanups and kdev_t removals - we pass tty instead of tty->device
   in a couple of helper functions and instead of comparisons on major(tty->device)
   we check where does tty->driver point to.

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (10/12)
   
   Preparations to cleanup:
      * call of get_tty_driver() moved from init_dev() to its callers
      * instead of kdev_t dev we pass struct tty_struct *driver and int index

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (11/12)
   
      tty->device switched to dev_t
      There are very few uses of tty->device left by now; most of
   them actually want dev_t (process accounting, proc/<pid>/stat, several
   ioctls, slip.c logics, etc.) and the rest will go away shortly.

<viro@www.linux.org.uk>
   [PATCH] tty cleanups (12/12)
   
      * we allow tty_driver to cover more than 256 devices
      * pty.c cleaned up - now we only one driver for UNIX98 masters and
   only one driver for UNIX98 slaves, so a lot of ugliness can be killed.
      * get_tty_driver() became an analog of get_gendisk() - it does
   a lookup by device number and gives (pointer to tty_driver,index).
      * registration/unregistration of tty_driver updated
      * /proc/tty/drivers code updated (now one structure can be responsible
   for several lines)

<torvalds@home.transmeta.com>
   Since "apply_alternatives()" also runs at module load time it must
   not be marked __init.
   
   Noted by Petr Vandrovec

<hch@lst.de>
   [PATCH] split initrd from ramdisk driver
   
   They don't have any code in common, so the initrd support can
   go into a separate file and not require ramdisk support.
   
   Lots of ifdefs gone and smaller kernel images for initrd users.

<hch@lst.de>
   [PATCH] kill LOCAL_END_REQUEST
   
   And uninline end_request - it's calling to many functions to be useful
   inline.

<hch@lst.de>
   [PATCH] don't use mem_map_reserve/mem_map_unreserve
   
   They are obsfucating aliases for SetPageReserved/ClearPageReserved.
   And once they're gone we can nuke <linux/wrapper.h>

<hch@lst.de>
   [PATCH] don't include devfs_fs_kernel.h in global headers
   
   Now that devfs_handle_t is gone from all structs there is no
   reason to include it in headers.
   
   Fix the fallout by including previously implicit headers and fixing
   the drivers that didn't include devfs_fs_kernel.h explicitly.

<hch@lst.de>
   [PATCH] fix devfs_mk_dir prototype
   
   Return an error code instead of a devfs_handle_t.  The handle isn't
   useful for anything and the !CONFIG_DEVFS_FS stub in fact returned
   NULL which made it entirely useless.  Thus only one driver is actually
   checking the retval in the current tree..

<hch@lst.de>
   [PATCH] update s390 tape_block for 2.5 APIs
   
   It looks like no one even tried to use it on 2.5..

<hch@lst.de>
   [PATCH] remove a wrong invalidate_bdev from ide-disk.c
   
   This one probably crept in during an ide merge from 2.4..

<hch@lst.de>
   [PATCH] fix dasd open/release
   
   The invalidate_buffers in ->release is wrong, get a reference to the
   discipline in the beginning of ->open.

<akpm@digeo.com>
   [PATCH] print IRQ handler addresses
   
   - Fix printk bug in the diagnostic code.
   
   - If an error occurs, print the address of all the offending action
     handlers.  Also the symbol name if CONFIG_KALLSYMS.

<akpm@digeo.com>
   [PATCH] warning fixes
   
   Fix some warnings from the new code-patching stuff.

<akpm@digeo.com>
   [PATCH] fix typo in m68k mm code
   
   Looks like my finger fell off the control key..

<jgarzik@redhat.com>
   [netdrvr tg3] detect shared (and screaming) interrupts

<jgarzik@redhat.com>
   [netdrvr tg3] fix omission in board shutdown sequence

<shemminger@osdl.org>
   [BRIDGE]: Missing unlocks in ioctl error paths.

<shemminger@osdl.org>
   [BRIDGE]: Bridge confuses kernel user HZ.

<hch@lst.de>
   [PATCH] remove proc_print_scsidevice abuse from drivers
   
   proc_print_scsidevice is used for the scsi device listing in
   /proc/scsi/scsi, but in addition two drivers (advansys and eata_pio)
   are using it to duplicate the same information in their proc_info
   method.  Remove that output and make the function static to
   scsi_proc.c.  Also remove proc_scsi from the public headers - it
   should really be private to the scsi midlayer but I don't think
   we can shange the sg procfs name anymore.

<patmans@us.ibm.com>
   [PATCH] scsi-misc-2.5 fix repeat_inquiry bflags setting
   
   James -
   
   The new printk for BLIST_INQUIRY_36 is getting a warning, and the
   repeat_inquiry code is not quite right, since we reset *bflags after
   getting the first INQUIRY.
   
   Get rid of the warning, change the or-ing of the bflags settings, and get
   rid of an extraneous BUG_ON.
   
   ===== drivers/scsi/scsi_scan.c 1.78 vs edited =====

<dmo@osdl.org>
   [PATCH] 2.5.68 scsi/gdth compile warnings and stack usage
   
   James Bottomley, please apply this patch.  It was sent out on
   linux-scsi last week and drew no responses.
   
   This is a patch for the scsi/gdth driver.  It was originally
   done in 2.5.67, but the patch applies to 2.5.68.
   
   There are two components to this patch.  The first component fixes
   with compilation warnings (which did uncover real bugs).  The other component
   (by Randy Dunlap) reduces stack size usage in gdth_ioctl().
   
   The compilation warnings occur only when CONFIG_HIGHMEM=y in the kernel
   configuration file (enable either 4gig or 64gig memory support).  This
   changes the size of the dma_addr_t from u32 to u64.
   The calls to pci_alloc_consistent return a value of type dma_addr_t.
   But the code was casting a pointer to what was ony a 32-bit memory location.
   
   This seonc component of the patch reduces stack size in
   scsi/gdth.c::gdth_ioctl() by making each separate ioctl have its own
   handler function, so that several large data structs are all declared on
   the stack at the same time.
   
   patch_name:     gdth-stack_warnings.patch
   patch_version:  2003-04-14.16:31:30
   author:         Randy.Dunlap <rddunlap@osdl.org>, Dave.Olien<dmo@osdl.org)
   description:    reduce stack usage in drivers/scsi/gdth.c::gdth_ioctl()
                   from 0xb50 to 0x5c (on P4, gcc 2.96); the large (ioctl)
                   function sizes in gdth.o now are:
                           150 ioc_event
                           178 ioc_resetdrv
                           190 ioc_general
                           30c ioc_hdrlist
                           324 ioc_rescan
                   so the largest cumulative size of calling gdth_ioctl() +
                   a specific ioctl is 0x5c + 0x324 = 0x380.
         Fix compilation warnings in calls to pci_alloc_consistent()
         that occur only when CONFIG_HIGHMEM=y.  The compiler
         warnings result from dma_addr_t changing in size from u32
         to u64.
   product:        Linux
   product_versions: 2.5.67
   changelog:      make each ioctl that uses large stack space into its own
                   function;
                   mostly moving lines of code around;
                   duplicates some local data in multiple functions;
         fix compiler warnings by adding intermediate dma_addr_t local
         variables to hold returns from pci_alloc_consistent.
   maintainer:     Achim Leubner (achim.leubner@intel.com)
   diffstat:   =
    drivers/scsi/gdth.c      |  664 ++++++++++++++++++++++++++---------------------
    drivers/scsi/gdth_proc.c |    5
    2 files changed, 374 insertions(+), 295 deletions(-)
   
   FYI:  The killer data structs in gdth_ioctl() (on x86, P4, gcc 2.96) are:
                   sizeof gdth_cmd_str: 336 bytes
                   sizeof gdth_ioctl_general: 356 bytes
                   sizeof gdth_ioctl_event: 308 bytes
                   sizeof gdth_ioctl_lockdrv: 204 bytes
                   sizeof gdth_ioctl_rescan: 406 bytes
   
   ###

<akpm@digeo.com>
   [PATCH] irqs: scsi
   
   Update SCSI drivers for the new IRQ API.  Also fix warnings and compilation
   errors as encountered.

<jejb@mulgrave.(none)>
   convert Megaraid to irqreturn_t

<florin@iucha.net>
   [PATCH] i2c: added it87 driver

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] fix init_irq
   
   The patch is obviously correct and has been floating on lkml for some time.
   
   From Manfred Spraul:
    "My init_irq cleanup introduced a bug: on error, the function must return 1."

<hch@lst.de>
   [PATCH] Fix devfs botch in IDE naming
   
   Linus, could you please apply this patch so all thos poor devfs
   users get their disks back?

<greg@kroah.com>
   [PATCH] i2c: fix up it87.c check_region mess.

<greg@kroah.com>
   [PATCH] i2c: removed unused flags paramater in found_proc callback.

<greg@kroah.com>
   [PATCH] i2c: fix up the media drivers due to removing flags paramater of callback function

<greg@kroah.com>
   [PATCH] i2c: removed unneeded typedef from i2c-sensor.h

<davem@nuts.ninka.net>
   [USB INPUT]: hiddev.c needs dev_fs_kernel.h

<greg@kroah.com>
   [PATCH] i2c: remove a lot of dupliated macros from i2c-sensor.h and use the current values in i2c.h

<greg@kroah.com>
   [PATCH] USB: add error reporting functionality to the pl2303 driver.

<greg@kroah.com>
   [PATCH] tty: let tiocmset pass TIOCM_LOOP changes to the tty drivers.

<ak@muc.de>
   [PATCH] Minor 32bit Opteron fixes
   
   Don't disable the Northbridge Machine Check.
   
   Use the unrolled "INTEL_USERCOPY" too.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] console cleanup (1/2)
   
      Preparation to console->device() cleanup: serial drivers converted
   to common helper for their ->device() methods.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] console cleanup (2/2)
   
      Console drivers cleanup.  In current tree interaction between
   console and tty layer sits in the ->device() method of struct console.
   It takes a pointer to console and returns device number of its tty
   device.  open(2) on /dev/console goes through the list of registered
   consoles, picks the first one that has ->device() and remaps the device
   number to console->device(console).  Then it proceeds with normal
   opening of tty.  This is the only caller of ->device().
   
      Cleanup: let ->device() return a pair (pointer to tty_driver, index
   of tty in question) instead of device number.  Note that
      a) the first thing tty_open() does with remapped device number is
   conversion to such pair.
      b) console driver _knows_ which tty_driver we want - one that
   implements tty interface to the same physical device (i.e. the part of
   the same driver).
      c) current code expects the result of ->device() to be a device
   number of tty device - anything else is immediate -ENODEV from tty_open();
   might as well have NULL ->device in that driver.
   
      Console drivers converted, (the only) caller updated.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] fbdev cleanup
   
      fbdev.node converted from kdev_t to int - all of its users
   have register_framebuffer() which sets .node to mk_kdev(FB_MAJOR, index)
   already called and all of them start with applying minor().  IOW, what
   they actually want is framebuffer number.
   
      * type of ->node changed to int
      * register_framebuffer() sets it to index instead of mk_kdev(...)
      * users converted from minor(foo.node) to foo.node
      * useless assignments (typically to NODEV) removed - we never
   look at that field before register_framebuffer() overwrites it and thus
   any assignments prior to register_framebuffer() call are dead code.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] capifs cleanup
   
      capifs switched to ramfs-style tree and cleaned up; it's the same
   changes that had been done its prototype (devpts) + stuff needed to
   deal with unload (devpts is non-modular and always internally mounted).

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] invalidate_device()/check_disk_change() fixes
   
      * bogus calls of invalidate_buffers() gone from floppy_open()
      * invalidate_buffers() killed.
   
      * new helper - __invalidate_device(bdev, do_sync).  invalidate_device()
   is calling it.
   
      * fixed races between floppy_open()/floppy_open and
   floppy_open()/set_geometry():
      a) floppy_open()/floppy_release() is done under a semaphore.  That
   closes the races between simultaneous open() on /dev/fd0foo and /dev/fd0bar.
      b) pointer to struct block_device is kept as long as floppy is
   opened (per-drive, non-NULL when number of openers is non-zero, does not
   contribute to block_device refcount).
      c) set_geometry() grabs the same semaphore and invalidates the
   devices directly instead of messing with setting fake "it had changed"
   and calling __check_disk_change().
   
      * __check_disk_change() killed - no remaining callers
      * full_check_disk_change() killed - ditto.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] ppc boot device selection cleanup
   
      PPC logics for choice of default boot device number switched to
   dev_t.  Rationale: it belongs to userland; we notice partitions with
   certain properties and choose one of them as the best candidate for
   being a root fs; then we put the resulting device number into ROOT_DEV,
   which has only one use - it's passed to mknod(2) to create a device node
   on rootfs and allow mount(2) get us the final root.
   
      IOW, all that code has nothing whatsoever with kernel internals
   of any description - the value we are generating will be passed to
   mknod(2) anyway.  Switched to dev_t.
   
      Note: that code should eventually be moved to early userland.

<anton@samba.org>
   [PATCH] ppc64 needs setup-bus.c

<hch@lst.de>
   [PATCH] kill <linux/wrapper.h>
   
   Kill one user of mem_map_reserve/mem_map_unreserve I missed the
   last time and it can go away.

<hch@lst.de>
   [PATCH] use file->private_data in ide-tape
   
   So we don't have to lookup the private data everytime.

<axboe@suse.de>
   [PATCH] cleanup bio_map_user and helper
   
   Bart did this patch, I changed it a bit. Basically it cleans the mapping
   interface up a bit, and adds a little helper to set up the request from
   the bio.
   
   In addition, it fixes a long standing bug where bio_map_user() would
   call blk_queue_bounce() without the direction bit being set, auch.
   
    - Abstract out bio request preparation
    - Have bio_map_user() set data direction (fixes bug where blk_queue_bounce()
      is called without it set)
    - Split bio_map_user() in two

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] fix mismatched access_ok() checks in sg_io()
   
   I found this while doing bio_map_user() changes.
   
   Acked by Jens.

<akpm@digeo.com>
   [PATCH] Fix IRQ_NONE clash
   
   Several scsi drivers are already using an IRQ_NONE.  Rename that to
   SCSI_IRQ_NONE.

<akpm@digeo.com>
   [PATCH] irqs: ATM
   
   Update ATM drivers to new IRQ API

<akpm@digeo.com>
   [PATCH] irqs: drivers/block
   
   Mop up various block and cdrom drivers.  Also fix a bunch of warnings and
   compilation failures.

<akpm@digeo.com>
   [PATCH] irqs: char drivers
   
   Fix up various char drivers for the IRQ API change.  Also IDE, ISDN and i2o
   bits.  Fix various warnings and compilation errors.

<akpm@digeo.com>
   [PATCH] irqs: scsi
   
   Update SCSI drivers for the new IRQ API.  Also fix warnings and compilation
   errors as encountered.

<akpm@digeo.com>
   [PATCH] sound driver fixes
   
   All these drivers have a return hidden in a macro and I missed the lot in the
   first pass due to some config option not begin set.

<akpm@digeo.com>
   [PATCH] CPU flags fixes
   
   teach various drivers that the CPU flags require unsigned long

<akpm@digeo.com>
   [PATCH] various irqreturn_t fixes
   
   Basically a mop-up of missed bits.  Also fix various warnings and compilation
   errors.

<akpm@digeo.com>
   [PATCH] parkbd.c jiffies fix
   
   - jiffies is unsigned long
   
   - don't zero-init BSS.

<akpm@digeo.com>
   [PATCH] watchdog driver compile fixes
   
   The header file cleanups bite.  All these watchdog drivers need fs.h for
   struct inode, struct file, etc.

<akpm@digeo.com>
   [PATCH] bttv warning fix
   
   Fix a bttv compile warning

<akpm@digeo.com>
   [PATCH] jiffy type warning fixes
   
   Fix various places which aren't using unsigned long for jiffies.
   
   Also other warnings and compilation errors as encountered.

<hunold@convergence.de>
   [PATCH] Fix mxb.c stack usage
   
   This does the following:
    - make initialization data for helper chipsets (saa7111 and saa7740)
      static and with file scope
   
   Additionally fixes:
    - don't use irq driven i2c transfer when saa7740 is present (this screws
      up the i2c bus and may hang the computer)
    - add MODULE_DEVICE_TABLE to allow /sbin/hotplug to handle the device

<l.s.r@web.de>
   [PATCH] Remove unused function from fs/isofs/rock.c
   
   find_rock_ridge_relocation() has been unused since 2.4.0-test11 -- time
   to bury it.
   
   Acked by Peter Anvin.

<torvalds@home.transmeta.com>
   Merge with DRI CVS tree: remove stale old context switching code and
   DMA histogramming. Be more careful about DMA page-list allocations,
   and remove old and broken (not SMP-safe, and unused) DRM read(), write()
   and poll() support.

<torvalds@penguin.transmeta.com>
   'hw_status_page' looks like a pointer, quacks like a pointer and
   walks like a pointer. It _is_ a pointer. So make it one, and remove
   a lot of silly casts.

<jgarzik@redhat.com>
   s/#if/#ifdef/ for a few CONFIG_SMP tests in public headers
   
   Headers touched: linux/interrupt.h, linux/sched.h, linux/timer.h

<riel@redhat.com>
   [wireless airo] make end-of-array test more portable
   
   FYI statsLabels[] is an array of char*, so the fix below
   is pretty obvious.

<edward_peng@dlink.com.tw>
   [netdrvr via-rhine] fix promisc mode
   
   I found a via-rhine bug, it can't receive BPDU (mac: 0180c2000000)
   in promiscuous mode. 
   Fill all "1" in hash table to fix this problem in promiscuous mode.
   (RCR remain 0x1c, write it as 0x1f don't work)

<pixi@burble.org>
   [quota] provide no-op sync_dquots_dev, one .config case wants it

<jgarzik@redhat.com>
   [hw_random] fix bug, bump version
   
   Fix ugly bug in read(2) path for odd buffer sizes.
   Noticed by Joseph Chan @ Via.
   
   Bump version to 1.0.0.

<edward_peng@dlink.com.tw>
   [netdrvr sundance] bug fixes, VLAN support
   
       - Fix tx bugs in big-endian machines
       - Remove unused max_interrupt_work module parameter, the new 
         NAPI-like rx scheme doesn't need it.
       - Remove redundancy get_stats() in intr_handler(), those 
         I/O access could affect performance in ARM-based system
       - Add Linux software VLAN support
       - Fix bug of custom mac address 
       (StationAddr register only accept word write) 

<Valdis.Kletnieks@vt.edu>
   cpp cleanups for ia32/io_apic.c, sound/oss/trident.c

<Valdis.Kletnieks@vt.edu>
   cpp cleanups: use KERNEL_VERSION macro from linux/version.h
   
   Updated ncr53c8xx and sym53c8xx scsi drivers.

<yoshfuji@linux-ipv6.org>
   [IPV6]: SNMP6 clean-up.

<Valdis.Kletnieks@vt.edu>
   [netdrvr typhoon] s/#if/#ifdef/ for a CONFIG_ var

<yoshfuji@linux-ipv6.org>
   [IPV6]: Per-interface statistics infrastructure.

<rddunlap@osdl.org>
   [IPV6]: Per-interfave icmpv6 statistics support.

<davem@nuts.ninka.net>
   [SCTP]: ICMP6 per-device changes for sctp.

<davem@nuts.ninka.net>
   [IPV6]: Export in6_dev_finish_destroy.

<shemminger@osdl.org>
   [BRIDGE]: Get write lock in config PDU processing.

<shemminger@osdl.org>
   [BRIDGE]: Possible race with timer on shutdown.

<shemminger@osdl.org>
   [BRIDGE]: Use list macros for ports.

<shemminger@osdl.org>
   [BRIDGE]: Use RCU for port table.

<davem@nuts.ninka.net>
   [BRIDGE]: br_if.c needs linux/init.h

<zaitcev@redhat.com>
   [SPARC]: Openprom drivers needs linux/fs.h

<hch@de.rmk.(none)>
   [PCMCIA] consolidate cs_error()
   
   I don't think having a copy of this in about every pcmcia driver is
   a good idea.

<patmans@us.ibm.com>
   [PATCH] scsi-misc-2.5 remove scsi_scan.c EVPD code
   
   Patch against current scsi-misc-2.5 tree.
   
   Remove the scsi EVPD code.
   
   Set the sysfs name to the form "SCSI scsi-type".

<hch@lst.de>
   [PATCH] de-uglify scsi.c
   
   It's the last file of the scsi core that needed to be converted from
   the old scsi style.

<torvalds@home.transmeta.com>
   Fix up some mixing of ramdisk/initrd. They have nothing in common,
   but the build was confused by the fact that they did share some files.
   
   Move INITRD code from do_mounts_rd.c to new file do_mounts_initrd.c.

<torvalds@home.transmeta.com>
   Avoid warning: print out hw_status_page as the pointer it now is.

<jejb@raven.il.steeleye.com>
   Fix mismerge in megaraid.c

<oliver@oenone.homelinux.org>
   - add DC395 SCSI driver

<jmorris@intercode.com.au>
   [IPSEC]: allow only tunnel mode in xfrm4_tunnels.

<torvalds@home.transmeta.com>
   scsi.c needs <linux/interrupt.h>. Somebody was a bit over-eager
   at cleanups.

<willy@debian.org>
   [PATCH] fix iomem_resource
   
   Every 64-bit architecture changes the end of iomem_resources. Some more
   gracefully than others. This patch does away with all that by making
   it end at ~0UL by default.

<stevef@smfhome1.austin.rr.com>
   Fix delete of files with readonly attribute. Reflect setting of
   readonly dos attribute in mode when server does not support
   CIFS Unix extensions.  Fix abbreviated readdir to servers that
   do support CIFS Unix extensions.

<paulus@samba.org>
   PPC32: Change interrupt handlers to return irqreturn_t.

<paulus@samba.org>
   PPC32: Reduce __MAX_NDELAY a little to avoid compiler warnings.

<benh@kernel.crashing.org>
   PPC32: Handle CPUs that have extra BAT (block address translation) registers

<acme@conectiva.com.br>
   o net/socket: make sys_accept bump the net proto family module usage count
     
   Thanks to Max Krasnyansky for spotting this.

<eli.carter@com.rmk.(none)>
   [ARM PATCH] 1513/1: iq80310 fix missing header
   
   Patch from Eli Carter
   
   # Tue Apr 22 10:26:15 CDT 2003 ejc@rnd-linux-c84
   # e42-fix-missing-iop-header
   #
   # Add in the missing iop310-irq.h header file.
   #
   # Diffed against linux-2.5.59-rmk1-ec0
   # Applies cleanly to 2.5.67-rmk1, 2.5.68-rmk1
   #
   #  include/asm-arm/arch-iop3xx/iop310-irqs.h |   80 ++++++++++++++++++++++++++++++
   #  1 files changed, 80 insertions(+)
   #

<eli.carter@com.rmk.(none)>
   [ARM PATCH] 1514/1: iq80321 MTD C99 fix
   
   Patch from Eli Carter
   
   # Tue Apr 22 14:28:13 CDT 2003 ejc@rnd-linux-c84
   # e45-iq80321-mtd-c99-fix
   #
   # I didn't test my C99 fix for the iq80321 MTD mapping.  "If you didn't test it,
   # it's broken."  This fixes that (embarrasing) blunder.
   #
   # Diffed against linux-2.5.68-rmk1+1513
   #
   #  drivers/mtd/maps/iq80321.c |   22 +++++++++++-----------
   #  1 files changed, 11 insertions(+), 11 deletions(-)
   #

<alexander.schulz@com.rmk.(none)>
   [ARM PATCH] 1517/1: Shark: new defconfig
   
   Patch from Alexander Schulz
   
   This updates the defconfig for the Shark

<acme@conectiva.com.br>
   o ipx: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net protocol
   families, its just a matter of setting the ->owner field in the registered struct
   net_proto_family to THIS_MODULE.

<alexander.schulz@com.rmk.(none)>
   [ARM PATCH] 1518/1: Shark: cyberpro broken by machine_is_netwinder
   
   Patch from Alexander Schulz
   
   I cannot compile the file cyber2000fb.c because of an undifined 
   reference to machine_is_netwinder(). This patch makes it compile again.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix two makefile problems
   
   Saner selection of architecture build flags (for Xscale)
   Make asm-offsets.s depend on the selected platform

<rmk@flint.arm.linux.org.uk>
   [ARM] Bypass cache cleaning if cache/mmu was disabled.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix another case of looking at task_struct instead of thread_info

<acme@conectiva.com.br>
   o llc: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_llc: initialize ->owner in llc_ui_family_ops
   
   The previous changeset for llc was enough when the BSD sockets interface
   for AF_LLC was not selected, but this changeset is needed when it is
   selected.

<rmk@flint.arm.linux.org.uk>
   [ARM] Provide more early command line parsing.
   
   We need to parse the command line arguments not only for the memory
   parameters, but also CPU cache policies.  Rather than extending the
   early parsing in arch/arm/kernel/setup.c, we make this a generic
   feature.  The parameters and their parsing function can now be
   placed along side the code which makes use of the parsed information.

<rmk@flint.arm.linux.org.uk>
   [ARM] lock up() functions should be memory barriers.

<rmk@flint.arm.linux.org.uk>
   [ARM] Ensure gcc does not assume asm() is conditional.
   
   Prevent all gcc's from assuming that assembly within asm() may be
   conditional.

<acme@conectiva.com.br>
   o appletalk: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix integrator cpufreq build errors

<acme@conectiva.com.br>
   o af_llc: add missing include module.h

<paulus@samba.org>
   [PATCH] drivers/macintosh irq handler type
   
   This patch changes the interrupt handler routines in four of the
   macintosh-specific drivers to return an irqreturn_t value.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix includes
   
   fault-common.c included unnecessary headers.
   mach-integrator.c needed list.h included.

<rmk@flint.arm.linux.org.uk>
   [ARM] Make tlb_start_vma() flush the cache

<rmk@flint.arm.linux.org.uk>
   [ARM] Inline PMD entry cache handling
   
   The common case is building a kernel for one CPU type, and we are
   able to allow GCC to optimise any the PMD entry cache handling
   assembly which will never be used.

<anton@samba.org>
   [netdrvr 8139cp] enable MWI via pci_set_mwi, rather than manually

<hch@lst.de>
   [netdrvr pcmcia] switch drivers to using pcmcia_register_driver
   
   Affected drivers: 3c574_cs, 3c589_cs, axnet_cs, com20020_cs,
   fmvj18x_cs, ibmtr_cs, nmclan_cs, smc91c92_cs, xir2ps_cs

<romieu@fr.zoreil.com>
   [wan dscc4] irqreturn_t update

<rmk@flint.arm.linux.org.uk>
   [ARM] Clean up ARM cache handling interfaces (part 1)
   
   This starts to move the ARM cache handling interface towards a
   purpose-defined rather than functionality-defined interface.
   This is necessary so we are able to support a wide range of ARM
   CPUs.

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] fix DMA for taskfile IO
   
   Fix handling of read/write DMA in do_rw_taskfile(),
   it was broken because default return value is ide_stopped.

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] fix compilation of taskfile IO
   
   Fix compilation of CONFIG_IDE_TASKFILE_IO, but don't expose this config
   option yet.

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] remove duplicated defines from ide.h
   
   [trivia] Remove duplicated defines of PRD_BYTES and PRD_ENTRIES.

<rmk@flint.arm.linux.org.uk>
   [ARM] Part 2 in the cache API changes.
   
   This is the new API; we now have methods for handling DMA which are
   separate from those handling the TLB consistency issues, which are
   in turn separate from the methods handling the cache coherency
   issues.
   
   Implementations are, however, free to alias these methods internally.

<rmk@flint.arm.linux.org.uk>
   [ARM] Remove check_bugs()
   
   check_bugs() has never been used to detect buggy ARM CPUs.  Therefore
   is no point in passing it to the per-cpu support code.

<maxk@qualcomm.com>
   [Bluetooth] Improved RFCOMM TTY TX buffer management. 
   Don't buffer more data than we have credits for.
   
   Patch from David Woodhouse <dwmw2@infradead.org>

<rmk@flint.arm.linux.org.uk>
   [ARM] set_pgd is confusing; rename it switch_mm
   
   set_pgd implies that we're setting a pgd entry.  We aren't; we're
   switching the MMU page table pointer.  Call it switch_mm instead.

<maxk@qualcomm.com>
   [Bluetooth] Fix race condition in RFCOMM session and dcl scheduler. 
   This fixes random RFCOMM freezes reported by some people.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] simple_fill_super()
   
      New libfs.c helper - simple_fill_super().  Abstracted from
   nfsd/nfsctl.c, couple of filesystems converted to it (nfsctl, binfmt_misc).
   
      Function takes an array of triples (name, file_operations, mode),
   superblock and value for its ->s_magic.  It acts as fill_super() - populates
   superblock or fails.  We get a ramfs-style flat tree - root directory and
   a bunch of files in it.
   
      That animal allows to put together a simple filesystem without
   touching any directory-related stuff - now it's as easy as implementing
   file_operations for files you want to have and telling what to call them.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] pin_fs/release_fs
   
      A couple of helpers - simple_pin_fs() and simple_release_fs().
   My fault - that code should've been put into libfs.c from the very
   beginning.  As it is, it got copied all over the place (binfmt_misc,
   capifs, usbfs, usbdevfs, rpc_pipefs).
      Taken to libfs.c and cleaned up.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] open_by_devnum()
   
      New helper - open_by_devnum().  Opens block_device by device number;
   for use in situations when we really have nothing better than dev_t (i.e.
   had received it from stupid userland API).

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] blkmtd init cleanup
   
      Obvious cleanup of the code in init_blkmtd().  Killed code duplication,
   replaced opening underlying block device manually with use of appropriate
   helpers.

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] bdget_disk()
   
      New helper - bdget_disk(gendisk, partition)
      invalidate_device() replaced with invalidate_partition(disk, part)

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] ataflop.c cleanup
   
      Somewhat cleaned up, sanitized the module init/exit code (BTW,
   built-in case was b0rken for quite a while - somebody forgot to add
   initcall there; converted the bugger to module_init/module_exit)

<viro@parcelfarce.linux.theplanet.co.uk>
   [PATCH] hd98 compile fixes
   
      hd98 had missed a lot of required block device patches (e.g.
   it used BLK_DEFAULT_QUEUE and that had been gone for ~ half a year).
   Reproduced the changes done to hd.c.

<bdschuym@pandora.be>
   [NETFILTER]: Add ipt_physdev extension.

<mulix@mulix.org>
   [NETFILTER]: ip_queue memory leaks

<kaber@trash.net>
   [NETFILTER]: Multiple ipt_REJECT fixes.
   - fix tcp-rst routing
   - fix memory leak
   - remove unecessary "struct in_device" declaration
   - remove RTO_CONN

<laforge@netfilter.org>
   [NETFILTER]: Makefile and build fixes.

<acme@conectiva.com.br>
   o af_unix: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o wireless: make the ioctl tables more resilient to errors using C99 style init

<akpm@digeo.com>
   net driver cleanup, volume 7
   
   100% irqreturn_t cleanups
   
   Affected drivers: 3c523, 527, 68360enet, 7990, a2065, am79c961a,
   appletalk/{ltpc,cops}, ariadne, {lotsa}lance, au1000_eth, eth16i,
   ewrk3, gt96100eth, hamradio/several, ibmlana, ioc3-eth, *-skeleton,
   lasi_82596, mac89x0, pcmcia/3c574_cs, rrunner, sb1000, sb1250-mac,
   sgiseeq, sk_g16, sk_mca, skfddi, sonic, sun3_82586, tc35815,
   tokenring/several, wan/several

<scott.feldman@intel.com>
   [netdrvr e1000] mark e1000 NAPI feature not-experimental

<scott.feldman@intel.com>
   [netdrvr e1000] add a bit of source cross-version compat
   
   * Wrap TSO support with NETIF_F_TSO to keep same driver
     source between 2.4 and 2.5.
   

<ganesh.venkatesan@intel.com>
   [netdrvr ixgb] add new driver for Intel's 10 gig ethernet

<jgarzik@redhat.com>
   [netdrvr ixgb] Lindent, then fix up obvious indent uglies by hand

<jgarzik@redhat.com>
   [netdrvr ixgb] use standard kernel u8/u16/u32 types

<maxk@qualcomm.com>
   [Bluetooth] USB drivers cannot call usb_unlink_urb() under spin lock.

<jgarzik@redhat.com>
   [netdrvr ixgb] more cleanups
   
   - support new 2.5 irqreturn_t
   - s/usec_delay/udelay/
   - remove two stored-but-never-used members of struct ixgb_hw
   - read PCI vendor/device ids from struct pci_dev, not h/w
   - remove some unused wrappers from ixgb_osdep.h

<maxk@qualcomm.com>
   [Bluetooth] Initialize net_proto_family->owner field. This covers only HCI sockets. 
   Other protocols cannot be fixes at this point because current net_proto_family
   code does not support "family owner != socket owner" case.

<maxk@qualcomm.com>
   [Bluetooth] Initialize ->owner field of the RFCOMM tty driver. 
   In order to fix all MOD_INC/DECs in the RFCOMM code we need __module_get().

<davem@nuts.ninka.net>
   [EBTABLES]: Make ebt_vlan.c use correct printf format for size_t.

<davem@nuts.ninka.net>
   [DECNET]: Kill warning with gcc-3.x in dn_route.c

<davem@nuts.ninka.net>
   [NETFILTER]: Make ip_conntrack_core.c use correct printf format for size_t.

<rmk@flint.arm.linux.org.uk>
   [ARM] Clean up nwfpe makefile.

<davem@nuts.ninka.net>
   [SPARC64]: Update defconfig.

<rusty@rustcorp.com.au>
   [NETFILTER]: Add owner field to nf_hook_ops.
   Adds an owner field to nf_hook_ops, and use it to hold the hook in place
   for queued packets.

<davem@nuts.ninka.net>
   [NETFILTER]: Kill unused var in nf_reinject.

<davem@nuts.ninka.net>
   [NETFILTER]: Use proper size_t printf format in ip6t_LOG.c

<acme@conectiva.com.br>
   o af_ax25: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_econet: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_irda: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_key: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_netrom: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_packet: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_rose: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_wanpipe: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o af_x25: remove MOD_{INC,DEC}_USE_COUNT
   
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<acme@conectiva.com.br>
   o netrom/nr_dev: use SET_MODULE_OWNER, removing calls to MOD_{INC,DEC}_USE_COUNT

<acme@conectiva.com.br>
   o rose/rose_dev: use SET_MODULE_OWNER, removing calls to MOD_{INC,DEC}_USE_COUNT

<acme@conectiva.com.br>
   o net: several C99 struct init style conversions and cleanups

<acme@conectiva.com.br>
   o net: save some more bytes in the kernel image moving global zero inits to .bss

<acme@conectiva.com.br>
   o af_decnet: remove MOD_{INC,DEC}_USE_COUNT
     
   Now the core networking infrastructure will (finally) do that for the net
   protocol families, its just a matter of setting the ->owner field in the
   registered struct net_proto_family to THIS_MODULE.

<rmk@flint.arm.linux.org.uk>
   [ARM] Don't allow FPE modules to be built as a module.

<rmk@flint.arm.linux.org.uk>
   [ARM] Remove unused msleep() function in h3600.c

<rmk@flint.arm.linux.org.uk>
   [ARM] Switch to SVC mode using read/modify/write.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix a collection of missed changes from cache API changes.

<rmk@flint.arm.linux.org.uk>
   [ARM] Fix elf_fpregset_t
   
   This is a fix from eons ago, which apparantly has been in the old
   Rebel.com netwinder CVS for several years, and has never been
   submitted upstream.
   
   This fix allows FP registers to be correctly written to ELF core
   files, as well as preventing corruption of other parts of ELF core
   files caused by data on the kernel stack being overwritten.

<rmk@flint.arm.linux.org.uk>
   [ARM] Update mach-types to latest version.

<torvalds@home.transmeta.com>
   DRI CVS merge: move more gamma-only functions away from
   generic dri files and into gamma driver files.

<acme@conectiva.com.br>
   o ipx: several simple cleanups
   
   . use switch/case alignment at the same column, 
     more common in the kernel sources
   . remove outdated module refcounting comments
   . have just one exit (return) in the ioctl functions
   . use 'rc' for return variables, not ret or err, for
     consistency on naming.

<torvalds@home.transmeta.com>
   Previous DRI CVS merge improperly removed some sparc-only
   support. Add it back in now that DRI is synched up again.

<torvalds@home.transmeta.com>
   Remove old (disabled) debugging code.

<torvalds@home.transmeta.com>
   DRI CVS merge: make sure to clean up irq and DMA on final close.

<torvalds@home.transmeta.com>
   DRI CVS merge: only free pages when we _have_ pages to free.
   Cleanups.

<torvalds@home.transmeta.com>
   DRI CVS merge: make sure the device is properly initialized
   before opening it.

<torvalds@home.transmeta.com>
   DRI CVS merge: memory barrier updates

<acme@conectiva.com.br>
   o pppox: simple code cleanups
   
   . rename proto to pppox_protos, even being static this is too generic a name
   . use rc as the name for result variables, just for consistency with other
     net sources
   
   This is in preparation for having a proper net family module level modules
   infrastructure, with the top level (af_pppox) doing the module refcounting
   before calling any functions registered by the lower level protocol modules
   (in this case just PPPOE for now).

<greg@kroah.com>
   kobject: kobj_lock needs to be grabed using spinlock_irq
   
   This is because some subsystems (cough, usb...) can grab a kobject from irq context.
   This lock can be completely removed once the sysfs_init() code is cleaned up.
   
   Patch originally by Andrew Morton.

<acme@conectiva.com.br>
   o af_pppox: create module infrastructure for protocol modules
   
   With this the pppox module is protected by the networking core and
   the pppox "core" protects modules for specific pppox protocols (pppoe,
   for instance), while doing it removed some not needed struct sock
   member initializations in pppoe_create that are done by sock_init_data.

<greg@kroah.com>
   driver core: rework driver class structures and logic
   
   Removes the device_class, devclass_attribute, and device_interface structures
   and replaces them with class, class_device, and class_interface structures.
   
   This allows us to have multiple class_device structures per device structures
   which mirrors the ways things really are within the kernel.  It also allows 
   class_device structures to be created later than struct devices as they
   are naturally created much later in the initialization process of a device.

<greg@kroah.com>
   driver core: fix up cpu.c, memblk.c, and node.c due to the class changes

<greg@kroah.com>
   driver core: fix up the input_class logic due to the class changes.

<greg@kroah.com>
   driver core: fix up cpufreq code to work with new class changes.

<greg@kroah.com>
   driver core: fix up tty code to work with the new class changes.
   
   Note, tty_class will be flushed out in the future, this is just to
   get things building again properly.

<greg@kroah.com>
   driver core: fix up scsi code to compile due to the class changes.
   
   Yes, this patch is not logically correct, in that the scsi-host class
   no longer works, but Mike Anderson has a patch that will be submitted
   that fixes all of these problems.

<greg@kroah.com>
   driver core: fix up the pcmcia code to work with the new class changes.
   
   This isn't the optimal fix, but things still work properly for me with
   my hardware and this patch.
   
   Dominik Brodowski has stated he will be fixing up this code a lot more
   after the class changes are in the main tree.

<greg@kroah.com>
   driver core: removed drivers/base/fs/*, drivers/base/intf.c and drivers/base/hotplug.c
   
   These files are no longer needed due to class changes.

<acme@conectiva.com.br>
   o af_pppox: return -EPROTONOSUPPORT if try_module_get fails at pppox_create
   
   Thanks to Rusty for spotting this one, if the protocol module is not there
   anymore (or is going away at that time) it is not supported, not busy.

<acme@conectiva.com.br>
   o net/socket: return -EAFNOSUPPORT if net_family_get fails at sock_create and sys_accept
   
   Thanks to Rusty for spotting this one, if the net family module is not there
   anymore (or is going away at that time) it is not supported, not busy.

<scole@zianet.com>
   [NET]: Spelling fixes for net/

<shemminger@osdl.org>
   [BRIDGE]: Use C99 initializers for netfilter bridge.

<bdschuym@pandora.be>
   [BRIDGE]: Always set BRNF_BRIDGED mask when bridging.

<shemminger@osdl.org>
   [NETFILTER]: Use Read Copy Update.

<shemminger@osdl.org>
   [BRIDGE]: Inline and _rcu change.
   * Need _rcu on the list_for_each_entry in br_get_port because called in
     read path for some ioctls
   * Move two small functions is_root_bridge and is_designated_port into
     inlines because they are so short.

<shemminger@osdl.org>
   [BRIDGE}: More user hz conversions.

<davem@nuts.ninka.net>
   [IPV6]: Kill unused vars in mcast procfs code.

<mzyngier@freesurf.fr>
   [PATCH] EISA/sysfs update
   
   The included patch cleans up the EISA code :
   
   - Documentation update,
   - Remove i386 EISA ID reservation (handled in the generic code),
   - Add some preliminary support for EISA-like VLB cards (Adaptec 287x),
   - Add some stricter dependancies for EISA_VIRTUAL_ROOT
   - Preliminary support for EISA DMA,
   - Much more conservative probing,
   - EISA IDs list update (Compaq stuff).

<alex_williamson@com.rmk.(none)>
   [PATCH] 8250_pci include offset in iomap_base
   
      This one-liner is required for PCI serial ports that have multiple
   MMIO ports off a single PCI BAR.  Calls to request_mem_resource() fail
   after the first one otherwise.  Patch against 2.5.67.  Thanks,

<hch@lst.de>
   [PATCH] fix devfs_register_tape stub
   
   this fixes a harmless but annoying warning when compiling one of the
   tape drivers without devfs.

<hch@lst.de>
   [PATCH] update dcache documentation
   
   Update the dcache section in Documentation/filesystems/Locking to match
   reality.  Note that there's other parts of this file that are badly out
   of date - I'll look into it later.

<greg@kroah.com>
   [PATCH] USB: fix CHECKER found bug in the empeg.c driver

<greg@kroah.com>
   [PATCH] USB: fix CHECKER found bug in the io_edgeport.c driver

<greg@kroah.com>
   [PATCH] USB: fix CHECKER found bug in the ipaq.c driver

<greg@kroah.com>
   [PATCH] USB: fix CHECKER found bug in the keyspan.c driver

<greg@kroah.com>
   USB: create usb_init_urb() for those people who like to live dangerously (like the bluetooth stack.)

<stern@rowland.harvard.edu>
   [PATCH] USB: Minor patch for uhci-hcd.c

<david-b@pacbell.net>
   [PATCH] USB: usbnet, config changes for CDC Ether
   
   This patch changes how usbnet and CDC Ether get configured,
   switching to the newer implementation with that CDC model
   (using a "minidriver" for "usbnet").
   
     - Removes "cdc-ether" from Kconfig and Makefile.
       Once everything flies, "cdc-ether.c" can be
       removed from the kernel.
   
     - Makes all the "minidriver" options in "usbnet"
       explicit in Kconfig, defaulting to "y" for most
       cases.  So folk expecting a CDC Ether option in
       Kconfig will still have one, and during config
       a list of hardware (cables, PDAs, etc) using the
       "usbnet" driver is now available.  (It's possible
       to save a few pages of code by configuring out
       drivers that use custom framing.)
   
     - Since now it's possible to create broken configs,
       this checks for them.  The two basic errors being
       configuring "usbnet" with no minidrivers, and
       needing to blacklist Zaurus in CDC-only configs.
   
     - Zaurus shouldn't do full CDC style init, since it
       doesn't uniquify the Ethernet address it reports;
       and it still shouldn't come up as an "eth%d" link.
   
   The CDC support is still "experimental", since I want
   to see a few interop reports for commercial products
   before changing that.

<joe@perches.com>
   [PATCH] USB: fix up usbnet's macros for older compilers

<joe@perches.com>
   [PATCH] USB: fix up usb_serial.h's dbg macro to take up less space

<joe@perches.com>
   [PATCH] USB: fix up usb.h's dbg macro to take up less space

<linux-usb@gemeinhardt.info>
   [PATCH] USB: add support for Mello MP3 Player

<greg@kroah.com>
   [PATCH] USB: added support for Sony DSC-P8
   
   Thanks to David Kimdon <David_Kimdon@alumni.hmc.edu> for the information.

<greg@kroah.com>
   [PATCH] USB: add comment to storage/unusual_devs.h that specifies how to add new entries.

<acme@conectiva.com.br>
   o net/llc: simple cleanups
   
   . align switch with its cases
   . fit some lines in 80 columns

<acme@conectiva.com.br>
   o net/sched: some trivial code cleanups, making some code smaller
   
   Smaller by not calling write_unlock two times.

<robert.olsson@data.slu.se>
   [NET]: Remove skb_head_pool.

<shemminger@osdl.org>
   Replace br_lock() in snap with Read Copy Update.
   
   Straightforward since SNAP uses list macros already.
   
   Tested by bringing up/down Appletalk on SMP system and making sure packets
   get through.
   
   This is the last subsystem that depends on br_lock before IPV4,IPV6
   can be converted.

<shemminger@osdl.org>
   [BRIDGE}: Change bridge forwarding table to use hlist.

<bdschuym@pandora.be>
   [NETFILTER]: Possible use of freed skbuff in netfilter.c

<zaitcev@redhat.com>
   [SPARC]: The iommu rewrite.

<akpm@digeo.com>
   [NETFILTER]: Put back missing list_head iterator local var.

<davem@nuts.ninka.net>
   [IPV4]: Use dst_pmtu not dev->mtu to determine if fragmentation is needed.

<davem@nuts.ninka.net>
   [IPV4]: Fix typos in ipip.c commented out code.

<davem@nuts.ninka.net>
   [PKT SCHED]; Missing semicolon in acme cleanups.

<benh@kernel.crashing.org>
   PPC32: flush the cache more thoroughly on sleep.

<paulus@samba.org>
   PPC32: Move xmon declarations to their own header file.

<benh@kernel.crashing.org>
   PPC32: Updates for newer PowerMac/PowerBook machines.

<benh@kernel.crashing.org>
   PPC32: Fix for older SMP powermacs.

<aia21@cantab.net>
   NTFS: 2.1.4 release - Reduce compiler requirements.
   - Remove all uses of unnamed structs and unions in the driver to make
     old and newer gcc versions happy. Makes it a bit uglier IMO but at
     least people will stop hassling me

<rusty@rustcorp.com.au>
   [PATCH] complete modinfo section
   
   Restores .modinfo section, and uses it to store license and vermagic.

<rusty@rustcorp.com.au>
   [PATCH] __module_get
   
   Introduces __module_get for places where we know we already hold
   a reference and ignoring the fact that the module is being "rmmod --wait"ed
   is simpler.

<akpm@digeo.com>
   [PATCH] irqs: i2c
   
   IRQ API udpate in i2c-elektor.c

<akpm@digeo.com>
   [PATCH] irqs: IRDA
   
   Some IRQ udpates for IRDA which seemed to get lost.

<akpm@digeo.com>
   [PATCH] Fix slab-vs-gfp bitflag clash
   
   Fixes a bug spotted by Alexey Mahotkin <alexm@hsys.msk.ru>: the slab-internal
   SLAB_NO_GROW bit clashes with __GFP_NORETRY.
   
   Fix that up so it won't happen again by moving the bit layout into gfp.h.

<akpm@digeo.com>
   [PATCH] irqs: bttv
   
   Update bttv driver to the new IRQ API.

<akpm@digeo.com>
   [PATCH] APM locking fix
   
   From: Manfred Spraul <manfred@colorfullife.com>
   
   apm.c:suspend() calls set_system_power_state() under (effectively)
   spin_lock_irq(i8253_lock).
   
   But set_system_power_state() unconditionally enables interrupts, in
   apm_bios_call_simple().  This generates nasty warnings from the uniprocessor
   spinlock debugging code, and would be deadlocky if APM worked on SMP.
   
   So drop the locks around the set_system_power_state() call.

<akpm@digeo.com>
   [PATCH] Fix warnings in xd.c
   
   Fix a few unused var warnings in drivers/block/xd.c

<akpm@digeo.com>
   [PATCH] DAC960 patch to entry points with a new fix
   
   From: Dave Olien <dmo@osdl.org>
   
   Christoph submitted a patch to linus last week fixing up some DAC960 driver
   entry points.  That patch will OOPS during boot on version 2 controller
   types.  Christoph's version of the disk_size() function was dereferencing
   a NULL pointer in it's "else" clause.
   
   Christoph's patch hasn't appeared in linus's BK tree yet.  So, I'm
   resending Christoph's orignal patch with my fix to disk_size() included.
   This patch can be applied to the driver in Linus's BK tree from April 28.
   
   Here's Christoph's original description of his patch:
   
   Some grepping showed that DAC960's open routine was duplicating parts
   of check_disk_change().  I went on fixing this by implementing a
   media_changed method and making DAC960_Open use it.  While looking
   at the surrounding code I noticed that
   
     (a) all methods weren't using the private data the upperlayer
         hands to it properly, but instead using kdev_t-based indexes
     (b) DAC960_Open/DAC960_Release was keeping never used counters
     (c) DAC960_Open was doing tons of checks the upperlayer already does
     (d) DAC960_Release was entirely superflous.
   
   The patch below corrects that and rewrites the block entry points
   into readable code - 100 LOC are gone and the same amount replaced
   by readable code.

<ak@muc.de>
   [PATCH] Update alt_instr to handle SSE2 prefetch and better nops

<akpm@digeo.com>
   [PATCH] allow modular JBD
   
   From: Paul Clements <Paul.Clements@SteelEye.com>
   
   Currently, when I build ext3 as a module, jbd gets built into the kernel
   proper.  This trivial patch allows jbd to be built as a module when ext3 is
   also modular.  I believe this is the intention, as this is how it works in
   2.4.  I've built and tested with modular jbd and ext3 on 2.5.68.

<akpm@digeo.com>
   [PATCH] generic HDLC module API update
   
   From: Krzysztof Halasa <khc@pm.waw.pl>
   
   Updates the HDLC drivers to the approved module API.

<akpm@digeo.com>
   [PATCH] proc_file_read fix
   
   From: Miklos.Szeredi@eth.ericsson.se (Miklos Szeredi)
   
   This fixes a problem with method 0 of proc_file_read (when the whole file
   is copied to the page).  The calculation of the final bytecount is wrong,
   and hence smaller then page size reads will give a truncated file.
   
   Current 2.4 kernels do it this way as well.

<hch@lst.de>
   [PATCH] improved bdevname

<akpm@digeo.com>
   [PATCH] buffer.c unused vars
   
   - Remove dead variable from block_read_full_page (Oleg Drokin)

<akpm@digeo.com>
   [PATCH] simple mwave code cleanup
   
   From: Paul B Schroeder <paulsch@haywired.net>
   
   The following patch simply moves the 'nr_registered_attrs' and
   'device_registered' variables in mwavedd.c into the MWAVE_DEVICE_DATA struct
   which is defined in mwavedd.h..

<akpm@digeo.com>
   [PATCH] fs/ext3/super.c fix for orphan recovery error path
   
   From: Ernie Petrides <petrides@redhat.com>
   
   The problem resolved by this patch is that if a root file system has an
   error recorded from a previous mount, and then (when rebooting) the orphan
   recovery procedure is initiated, the recovery is correctly skipped but the
   file system is incorrectly left in a writable state.
   
   This causes the subsequent fsck to fail due to the root file system
   being dirty, and then requires manual intervention to get the system
   fully booted.

<akpm@digeo.com>
   [PATCH] update nr_threads commentary
   
   From: Manfred Spraul <manfred@colorfullife.com>
   
   Update some no-longer-true comments around nr_threads locking.

<akpm@digeo.com>
   [PATCH] lost_tick fixes
   
   From: john stultz <johnstul@us.ibm.com>
   
   - Whitespace fixes
   
   - Fix for the case where HZ != 1000 (pointed out by Mika Penttila).

<akpm@digeo.com>
   [PATCH] zone accounting race fix
   
   Fix a bug identified by Nikita Danilov: refill_inactive_zone() is deferring
   the update of zone->nr_inactive and zone->nr_active for too long - it needs
   to be consistent whenever zone->lock is not held.

<akpm@digeo.com>
   [PATCH] aio support for block devices
   
   From: Janet Morgan <janetmor@us.ibm.com>
   
   Here's a small patch that adds aio_read and aio_write methods to the
   block device driver.

<akpm@digeo.com>
   [PATCH] percpu counters cause UML compilation errors in with SMP
   
   The percpu counters break UML SMP compilation (in current 2.5.58 bk snapshot)
   (first NR_CPUS undeclared in header, then dereference of incomplete structure
   in .c file)

<akpm@digeo.com>
   [PATCH] config menu cleanups
   
   From Robert Day, through "Randy.Dunlap" <rddunlap@osdl.org>
   
   This is a patch from Robert Day that does the following:
   
   1) shift menu item in "Processor type and features" menu
   2) clean up "Bus options" menu so it's actually hierarchical
   
   Part of it (moving X86_IO_APIC around) looked a little odd to me,
   so I asked Roman Zippel about it, and he replied:
   
   "It's correct, although I wouldn't call it a 'design quirk'. :)
   It forces one to group options which belong logically together and in this
   case X86_IO_APIC is really a bit misplaced, even if it's not visible."
   
   I have tested it (on 2.5.68-plain) and it does indeed make the menus
   more hierarchical.

<akpm@digeo.com>
   [PATCH] oom-killer locking fix
   
   From: William Lee Irwin III <wli@holomorphy.com>, Robert Love
   
   Add some spinlock protection around the oom-killer state.

<hch@lst.de>
   [PATCH] use .devfs_name in struct miscdevice
   
   There's three drivers in the tree that workaround the suboptimal
   devfs name choice of the misc device layer (/dev/misc/<foo>) using
   devfs_mk_symlink.    Switch them to set miscdev.devfs_name instead
   to get the right name from the very beginning.

<pavel@ucw.cz>
   [PATCH] ioctl32 cleanups
   
   ioctl32 cleanups are pretty neccessary (we have 6+ copies of 600+
   lines tables, all getting slightly out of sync, not speaking about
   surrounding code produced by cut-and-paste).

<hch@lst.de>
   [PATCH] remove devfs hack from misc_register
   
   There's an (fortunately unused) devfs in misc_register currently,
   when the name of the miscdevice contains a slash the name is used
   as devfs name instead of misc/<name>.  Kill if as we have .devfs_name
   for this kind of stuff now.

<hch@lst.de>
   [PATCH] add an missing prototype to initrd.h

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] Remove duplication of generic ide funcs from ide-taskfile.c.
   
   They are unused, not needed and identical to generic ones so kill 'em:
       task_read_24(),
       task_try_to_flush_leftover_data(),
       taskfile_dump_status(),
       taskfile_error().

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] Kill dups of read_24(), rename it to ide_read_24().
   
    - kill dups in ide.c and ide-disk.c
    - read_24() is exported so rename it to ide_read_24()
    - add it ide.h

<gj@pointblue.com.pl>
   [PATCH] USB: fix usbkbd.c compilation error

<randy.dunlap@verizon.net>
   [PATCH] sidewinder: reduce stack usage
   
   reduce stack usage in sw_connect() from 0x490 to 0x98 on P4 SMP (gcc 3.2);

<randy.dunlap@verizon.net>
   [PATCH] uinput.c: reduce stack usage
   
   drivers/input/misc/uinput.c::uinput_alloc_device(): reduce stack size
   from 0x480 to 0x24;

<ccheney@cheney.cx>
   [PATCH] USB: vicam.c copyright patches
   
   Here are two vicam.c patches to clean up and restore copyright notices
   for 2.4.21-rc1 and 2.5.68-bk9. At some point in time Pavel and my
   copyrights were remove inadvertenly from the code.

<James@superbug.demon.co.uk>
   [PATCH] USB: Add support for Pentax Still Camera to linux kernel

<pavel@ucw.cz>
   [PATCH] ioctl32: leftovers
   
   Missed parts of the ioctl32 compatibility patch: a few ioctls from
   PA-RISC, and missing <linux/compat_ioctl.h> file.

<bcollins@debian.org>
   [PATCH] Merge to current SVN repo (r915)
   
   Changes:
   
     - Convert to a static highlevel handle for all drivers. Gets rid of
       a kmalloc for each driver and consolidates the highlevel handle and
       highlevel ops. Reduces points of failure as well.
     - Move host number allocation to hosts.c, giving all drivers access to
       it.
     - Implemented S800 changes for core and sbp2. Thanks to TI and LaCie
       for hardware to test this. 1394b support coming soon.
     - Convert nodemgr to using a similar device classification hack as
       usb. The old class_num hack I had in place was broken do to its
       removal. This is a much cleaner solution.

<akpm@digeo.com>
   [PATCH] cs46xx: fix incomplete search-and-replace
   
   Leftovers from the mem_map_reserve-removal patch.

<ak@muc.de>
   [PATCH] Fix prefetch patching in 2.5-bk
   
   Brown paperbag time. I forgot to take the modrm byte in account
   with the prefetch patch replacement.  With 3.2 it worked because
   it used the right registers in my configuration.
   
   But gcc 2.96 uses a different register in __dpath and the prefetch becomes
   4 bytes with modrm and the original nop needs to be as long as that too.

<ak@muc.de>
   [PATCH] x86-64 update
   
   Just make x86-64/amd64 compile again.  Only architecture specific
   changes.
   
   And a workaround for the Opteron prefetch bug.
   
   Also remove the obsolete LVM1 ioctl emulation code.

<ak@muc.de>
   [PATCH] discontigmem fix
   
   Try to avoid calling "pfn_to_page()" on invalid pfn's.  It used to be
   legal, but the CONFIG_DISCONTIGMEM people want us to try to avoid it,
   since they do magic stuff in their "pfn_to_page" translations.

<wesolows@foobazco.org>
   [SPARC]: Replace "magic" values.

<bcollins@debian.org>
   [SPARC64]: Fix ioctl32.c in latest BK.

<jmorris@intercode.com.au>
   [IPSEC]: pmtu discovery support at local tunnel gateway.

<bcollins@debian.org>
   [VIDEO]: Revert cfbimgblt.c back to a working state on 64-bit.

<davem@nuts.ninka.net>
   [SPARC64]: Update defconfig.

<bcollins@debian.org>
   [VIDEO]: Revert atyfb back to known working clean base.

<roland@redhat.com>
   [PATCH] i386 vsyscall DSO implementation
   
   This creates the full debugging input for the vsyscall page as a DSO,
   allowing for debuggers and exception handlers to correctly handle the
   processor state during the vsyscall.
   
   There was a small bug in the core dump changes in the original patch I
   posted.  I fixed that, and the rest of the patch is unchanged.

<roland@redhat.com>
   [PATCH] Fix the DSO patch..
   
   D'oh!  My patch didn't include the new file:

<torvalds@home.transmeta.com>
   DRI texmem branch merge cleanups. Texture ages are unsigned, and
   radeon should use generic texture structure now.

<nstraz@sgi.com>
   [XFS] Use "%p" to print out addresses from xfs_error_report().  This is so addresses
   don't get truncated on 64-bit archs.
   
   SGI Modid: 2.5.x-xfs:slinx:144138a

<nathans@sgi.com>
   [XFS] UUID cleanup - remove unused functions, create a decent table abstraction
   and make the mount code simpler in the process.
   
   SGI Modid: 2.5.x-xfs:slinx:144596a

<cattelan@sgi.com>
   [XFS] Whitespace cleanup
   Merge whitespace cleanup to 2.5 tree
   
   SGI Modid: 2.5.x-xfs:slinx:144573a

<nathans@sgi.com>
   [XFS] Fix build for big endian platforms; make xfs_xlate_dinode_core consistent.
   
   SGI Modid: 2.5.x-xfs:slinx:144702a

<nathans@sgi.com>
   [XFS] Add a validity check for unwritten extents, trying to trap a problem
   on ia64.
   
   SGI Modid: 2.5.x-xfs:slinx:144727a

<lord@sgi.com>
   [XFS] Rework