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

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

Advertisement

Change log for patch v2.6.4

Summary of changes from v2.6.3 to v2.6.4
============================================

<scott.feldman@intel.com>
   [netdrvr] e100 version 3 (complete rewrite)

<scott.feldman@intel.com>
   [e100] ICH6 IDs + ia64 memcpy fix + module_param
   
   * Add ICH6 device IDs.  Devices funcionally equivalent to supported ICH5
     devices, but new IDs.
   * Fixed unaligned access to casted skb->data (Matt Willcox
     [willy@debian.org]).
   * MODULE_PARM -> module_param
   * Bug printk after register_netdev to identify nic details.
   * misc cleanups.

<jgarzik@redhat.com>
   [netdrvr e100] include linux/moduleparam.h
   
   Fixes build.

<amir.noam@intel.com>
   [netdrvr bonding] Cannot remove and re-enslave the original active slave
   
   In TLB/ALB modes, when enslaving a slave that has the bond's mac
   address, allow the operation if no other slave has that address.
   
   Should be applied after the cleanup patch set.

<amir.noam@intel.com>
   [netdrvr bonding] Releasing the original active slave causes mac address duplication
   
   When releasing the active slave in TLB/ALB modes,
   bond_alb_deinit_slave() must be called before trying to select a new
   active slave.

<amir.noam@intel.com>
   [netdrvr bonding] Add support for slaves that use ethtool_ops
   
   When collecting link information from slaves via ETHTOOL, first try
   using the relevant ethtool_ops functions.

<scott.feldman@intel.com>
   [netdrvr e100] netpoll + fixes to speed/duplex forced settings
   
   * Preserve forced speed/duplex settings during close/open sequence.
   * Reset PHY when going from autoneg to forced speed/duplex settings
     using ethtool.
   * Add netpoll support.

<amir.noam@intel.com>
   [netdrvr bonding] fix build breakage

<amir.noam@intel.com>
   [PATCH] [bonding 2.6] Fix compilation warning in bond_alb.c
   
   The IPX_TYPE_* constants and ipxhdr.ipx_type are u8 values, so we
   shouldn't use __constant_htons().

<shmulik.hen@intel.com>
   [netdrvr bonding] trivial - Update comment blocks and version field
   
   Update comment blocks, version field and copyright years to match all
   the recent changes that were accepted into 2.4/2.6.

<amir.noam@intel.com>
   [PATCH] [bonding 2.6] Save parameters in a per-bond data structure
   
   - Save the bonding parameters in a per-bond data structure.
   - Move all handling of the insmod parameters to bond_check_params().
   - Fix the handling of some warning messages regarding parameter use.

<amir.noam@intel.com>
   [PATCH] [bonding 2.6] Use the per-bond value of the bond_mode parameter
   
   Change usage of the global 'bond_mode' parameter to the per-bond
   value.

<amir.noam@intel.com>
   [PATCH] [bonding 2.6] Use the per-bond values of all remaining parameters
   
   Change usage of the all remaining global parameters to the per-bond
   values.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan lapb] beginning of cleanups
   
   Beginning of lapb cleanups: lapb_register gets net_device along with the
   "token" and it gets stored in lapb_cb (token argument will die later).

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan lapb] switch to use net_device instead of custom token
   
   lapb functions that used to take a token to select lapb_cb they'll deal with
   are switched to getting net_device instead.  Callbacks switched to using
   lapb->dev instead of lapb->token.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan lapb] Printks switched from %p lapb->token to %p lapb->dev.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan lapb] kill now-unused custom token container
   
   Nothing is using lapb->token anymore; removed, along with the old "token"
   argument of lapb_register().

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc_open() switched to net_device
   
   Beginning of hdlc fixes.  hdlc_open() switched from hdlc_device to net_device.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc_close() switched to net_device.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] new port_to_dev() helper
   
   New helper in hd6457x.c: port_to_dev().  A bunch of port->hdlc eliminated.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] switch sca_xxx() to use net_device
   
   More hd6457x.c massage: sca_open(), sca_close(), sca_dump_rings() switched
   to net_device.  Bunch of hdlc_to_port() eliminated in favor of dev_to_port().

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc_set_carrier() switched to net_device.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc->attach() switched to net_device.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan farsync] Eliminated a bunch of port->hdlc and hdlc_to_dev() uses

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc->proto.*() switched to net_device.
   Eliminated a bunch of ->netdev and hdlc_to_dev() uses.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc_cisco: killed ->netdev, hdlc_to_name() and hdlc_to_dev() uses.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] hdlc_fr: eliminated ->netdev, hdlc_to_dev() and hdlc_to_name() uses.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc_x25] eliminated hdlc_to_dev() and hdlc_to_name() uses.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan wanxl] eliminated hdlc_to_name() uses and a bunch of port->hdlc ones.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] switch internal ioctl dispatch to net_device
   
   Switched remaining ioctls to net_device, killed a bunch of hdlc_to_dev()
   and killed hdlc_to_name().

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan pc300] more direct use of net_device
   
   In pc300 replaced dev->hdlc with dev->dev (hdlc to net_device).  Killed a
   bunch of ugliness in pc300_tty.c, killed hdlc_to_dev() uses.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] new hdlc_stats() helper
   
   New inlined helper - hdlc_stats().  A lot of places had it spelled out;
   replaced with calls.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan dscc4] Uses of ->hdlc and hdlc_to_dev() encapsulated into dscc4_to_dev().

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] switch register_hdlc_device() to take net_device arg
   
   register_hdlc_device()/unregister_hdlc_device() switched to net_device.
   Now all remaining callers of hdlc_to_dev() are isolated and we can
   start killing them.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] new private struct pointer in hdlc_device, and helpers for it
   
   New field in hdlc_device: void *priv;
   New helpers:
           struct net_device *alloc_hdlcdev(priv) allocates hdlc, sets ->priv and
   returns pointer to hdlc->netdev
           free_hdlcdev(dev) takes such pointer and frees its hdlc.
   
   wanxl switched to use of those; instead of embedding hdlc into card->ports[]
   we allocate it separately right after card had been allocated and store pointer
   to hdlc->netdev in card->ports[]->dev.  Freeing is done just before freeing
   card.  Pointer back to card->ports[] is stored in hdlc->priv.  port_to_dev()
   and dev_to_port() rewritten in the obvious way; by now the rest of driver
   doesn't care whether hdlc is embedded or not - everything uses port_to_dev()
   and dev_to_port().
   
   That killed embedded hdlc replacing it with pointer to net_device.  Fairly
   similar work will be done in the next few patches for other drivers.
   
   Additionally, setup-after-register and free_irq()-before-unregister races
   had been fixed.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] kill embedded struct in various drivers
   
   Killed embedded hdlc in hd6457x.c derivatives (same as wanxl in previous
   patch)

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan pc300]  use alloc_hdlcdev()/free_hdlcdev().  Leak fixed

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan farsync] embedded struct hdlc_device removal
   
   Removed embedded hdlc in farsync (same as for wanxl and friends).
   setup-after-registration race fixed.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan dscc4] embedded struct removal
   
   Killed embedded hdlc in dscc4 (same as for other drivers).  Fixed a
   setup-after-registration race.
   
   That was the last user of hdlc_to_dev(); killed.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] removal hdlc_to_dev()
   
   No more users, we may remove it.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc] kill embedding of struct net_device
   
   Now we can kill the embedding of net_device into hdlc_device.  Indeed,
   all instances of hdlc_device are created by alloc_hdlcdev() and nothing
   uses hdlc->netdev directly.  So we can
           * remove hdlc->netdev
           * have alloc_hdlcdev() implemented via alloc_netdev() with the rest
   of hdlc_device as private part of net_device.
           * replace free_hdlcdev() with free_netdev().
           * have dev_to_hdlc(dev) simply return netdev_priv(dev).

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hdlc_fr] Switched allocation of net_device to alloc_netdev().

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan hostess_sv11] sane net_device allocation
   
   Sane allocation in sv11.  Switched it to SET_MODULE_OWNER(), while we are
   at it.  Fixed a leak on exit and destroy-before-unregister race.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan sbni] sane net_device allocation; plug a bunch of leaks
   
   Plugged a bunch of leaks in sbni.  Replaced check_region() with intended
   request_region() in pci probe (BTW, that bugger should be turned into
   normal PCI driver at some point).

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan sealevel] Plugged a leak

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr tun] Killed bogus ->init()

<viro@parcelfarce.linux.theplanet.co.uk>
   [wireless airo] switched to sane allocation.

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr s390/netiucv] partially sanitized wrt allocation

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr fec] switched to sane allocation.  It still leaks on failure exits, though.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan sdla] Fixed leaks and double-free

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr isa-skeleton] cleanups and fixes
   
   isa-skeleton.c got the same changes as actual ISA drivers - dynamic allocation,
   leak fixes, clobbering fixes, fix for IO-before-request_region().

<viro@parcelfarce.linux.theplanet.co.uk>
   [all over] more kfree -> free_netdev
   
   Remaining kfree -> free_netdev replacements (easy part of free_netdev() fixes)

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr acenic] Race and leak fixes

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr 3c509] Leak fixed

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr apne] resource leak fix

<viro@parcelfarce.linux.theplanet.co.uk>
   [wireless orinoco] check alloc_etherdev for failure

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr s390/lcs] Leak fix
   
   lcs_cleanup_channel() is not enough there, we need full
   lcs_cleanup_card() (e.g. to free netdev)

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan] leak fixes in hostess_sv11, lapbether

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr arm/am79c961] Fix for IO-before-request_region race

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr saa9730] fix double-free
   
   Fixed double-free in saa9730.c (caller of that function does free_netdev()
   itself if we return an error).

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr arch/uml] leak fix

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr dvb/dvb_net] fixes
   
   Don't leave dvbnet->device[...] dangling after we free the sucker

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr shaper] fix double-free
   
   Fix for double-free (we do explicit free_netdev() after unregister_netdev()
   in shaper.c)

<viro@parcelfarce.linux.theplanet.co.uk>
   [netdrvr s390/qeth] Alloc fixes

<shemminger@osdl.org>
   [PATCH] bugfixes for dgrs.c
   
   Update the RightSwitch dgrs.c driver for net-drivers-2.5-exp (2.6.1-rc3)
   to resolve some of the outstanding cruft there.  Al may have a better/newer patch.
   
   * Don't copy net_device structure on slave device!  This won't work
     because of state variables in structure.
   * make sure and request_regions before doing i/o to the card
   * use cpu_relax rather than barrier while spin waiting
   * don't use dev->init to do the probing work because hard to get unwind
     correct
   * Use new pci/eisa probing model, don't search the bus directly
     Beneficial side effect, don't need to keep on device list anymore.
   * Be more careful about releaseing resources in error paths
   
   Compiled and module loaded/unloaded, but don't have this hardware.

<viro@parcelfarce.linux.theplanet.co.uk>
   Remove unused and invalid 'struct ppp' definition from if_pppvar.h.

<jgarzik@redhat.com>
   Eliminate ancient and unused include/linux/{if_pppvar,ppp}.h.
   
   Well, unused except for one silly constant in isdn_ppp.c.

<scott.feldman@intel.com>
   [netdrvr e100] fix slab corruption
   
   * Addresses two problems, both resulting in slab corruption: 1)
     driver indicating skb while HW is still DMA'ing (ouch!), 2)
     driver not stopping receiver activity before downing i/f.
     Fix is 1) wait for RNR (receiver-no-resources) interrupt
     before restarting receiver, 2) reseting HW to stop receiver
     before stopping i/f.
   
   This issue was also reproducible with eepro100.  You need to turn off
   the copybreak, and reduce the number of descriptors to 4.  Then bang on
   it with pktgen with 60-byte packets, with slab debugging enabled.
   
   For e100-3.0.x, the issue was a lot easier to reproduce with NAPI,
   because NAPI polls independently of where the HW is at, so it's easier
   for us to catch HW in the middle of finishing off the last Rx (as
   it runs out of resources) and asking HW if it's idle.  Checking the
   RU status is not-reliable!  That's the problem, and the mistake both
   eepro100 and e100-3.0.x were making.
   
   The solution is rely on RNR interrupts as the only indicator that HW is
   truly done, and then we're ready to restart the RU.  We should only get
   RNR interrupts when we overrun the Rx ring.  With NAPI, if the ring is
   overrun, we'll post RNR, but not restart the RU until we're out of
   polling.  Without NAPI, we'll restart the RU as soon as we get RNR.
   
   I ran some 24-hour tests with and without NAPI (with 4 descriptors)
   and didn't get any corruption.  Prior to this patch, I would get many
   errors about slab corruption.
   
   Also, the patch is larger than you might expect, but I initially thought
   I was doing something wrong with managing the <list.h> ring, so I that
   code using old fashion double-link list.  The ring management wasn't the
   problem, after all, but I prefer the old-fashion d-link implementation
   as it's easier to read.

<scott.feldman@intel.com>
   [netdrvr e100] copyright + trailing blanks + misc
   
   * Misc: 2004 copyright, remove trailing white space, remove some
     unused symbols.

<viro@parcelfarce.linux.theplanet.co.uk>
   [wan] apply hdlc cleanups to new driver pci200syn

<rth@are.twiddle.net>
   [ALPHA] Mark exit_code before waking process for SINGLESTEP.
   From Aneesh Kumar <kvaneesh@yahoo.com>.

<jgarzik@redhat.com>
   [IA32] VIA C3 crypto/RNG bits
   
   * Enable ACE (crypto) and RNG units on bootup.
   * Do not disable RNG unit when unloading hw_random module.
   * New bits listed in /proc/cpuinfo: rng_en, ace, ace_en
   * Add ACE-associated constants to cpufeature.h

<bcollins@debian.org>
   IEEE1394(r1118): Addition of new config-rom processing code

<willy@debian.org>
   [TG32]: Use pci_get_slot() to find 5704 peers, to handle domains properly.

<kazunori@miyazawa.org>
   [IPV6]: Unify ipv6 output routine.

<yoshfuji@linux-ipv6.org>
   [NET]: Kill bogus kmem cache alignment in neigh_table_init().

<grundler@parisc-linux.org>
   [TG3]: Reset GRC, if necessary, before DMA test.
   
   With help from Michael Chan.

<linux@kodeaffe.de>
   [NET]: Mention tuxmobil.org in drivers/net/Kconfig.

<shaggy@austin.ibm.com>
   JFS: get_UCSname does not need nls_tab argument
   
   This is a minor code cleanup.  get_UCSname can get nls_tab by
   following the dentry to the superblock.  This makes the calling code
   simpler and prettier.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Clean up ndisc printks.

<grundler@parisc-linux.org>
   [PKTGEN]: Fix unintentional unaligned access.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Spelling corrections, and remove some XXX's

<brazilnut@us.ibm.com>
   [NET]: Fix ethtool oops if device support get but not set ringparam.

<miguel@cetuc.puc-rio.br>
   [NET_SCHED]: Fix slot leakage in SFQ scheduler.

<kas@informatics.muni.cz>
   [NET]: Do not send negative 2nd arg to skb_put().
   
   With help from Yoshfuji Hideaki.

<yoshfuji@linux-ipv6.org>
   [IPV6]: Kill remaining in6_u.u6_addrX uses.

<petri.koistinen@iki.fi>
   [IRDA]: Fix URLs in Kconfig.

<petri.koistinen@iki.fi>
   [HAMRADIO]: Fix URLs in Kconfig.

<shaggy@austin.ibm.com>
   JFS: Don't do filename translation by default
   
   Due to its roots in OS/2, JFS has always tried to convert pathnames
   into unicode.  Unfortunately, it never had a reliable idea of what
   the incoming character set was, so it defaulted to CONFIG_NLS_DEFAULT.
   
   This behavior was confusing and many users have requested that JFS
   have a more sane behavior.   This patch changes the default behavior
   to store the incoming bytes directly without translation.  This is
   consistent with the behavior when the default value of
   CONFIG_NLS_DEFAULT (iso8859-1) was defined.  The default behavior
   can be overridden by using the iocharset mount option.

<dlstevens@us.ibm.com>
   [IPV6]: Except MLD packets from source filtering.
   
   Co-authored with Yoshfuji Hideaki.

<davem@nuts.davemloft.net>
   [IPV6]: Kill 64-bit warnings in ndisc.c

<davej@redhat.com>
   [CPUFREQ] Update URL.

<jgarzik@redhat.com>
   [libata] catch, and ack, spurious DMA interrupts
   
   Hardware issue on Intel ICH5 requires an additional ack sequence
   over and above the normal IDE DMA interrupt ack requirements.  Issue
   described in post to freebsd list:
   http://www.mail-archive.com/freebsd-stable@freebsd.org/msg58421.html
   
   Since the bug workaround only requires a single additional PIO or
   MMIO read in the interrupt handler, it is applied to all chipsets
   using the standard libata interrupt handler.
   
   Credit for research the issue, creating the patch, and testing the
   patch all go to Jon Burgess.

<len.brown@intel.com>
   [ACPI] revert previous AML param patch for ACPICA update

<len.brown@intel.com>
   [ACPI] ACPICA 20040211 udpate from Bob Moore
   
   Completed investigation and implementation of the
   call-by-reference mechanism for control method arguments.
   
   Fixed a problem where a store of an object into an indexed
   package could fail if the store occurs within a different
   method than the method that created the package.
   
   Fixed a problem where the ToDecimal operator could return
   incorrect results.
   
   Fixed a problem where the CopyObject operator could fail
   on some of the more obscure objects (e.g., Reference objects.)
   
   Improved the output of the Debug object to display buffer,
   package, and index objects.
   
   Fixed a problem where constructs of the form "RefOf (ArgX)"
   did not return the expected result.
   
   Added permanent ACPI_REPORT_ERROR macros for all instances of the
   ACPI_AML_INTERNAL exception.

<jt@bougret.hpl.hp.com>
   [IRDA]: Add stir4200 driver.
   
      After a long maturation, this is time to send you the latest
   version of the stir4200 USB driver. Initially started by Paul Stewart,
   modified by Martin Diehl and me, and later partially rewriten by
   Stephen Hemminger.
      The hardware has many quirks. This is the first version that
   work reliably at SIR and mostly work at FIR. We may never get optimal
   operation from this hardware due to its pecularities, but at least its
   now usable.

<davem@nuts.davemloft.net>
   [IRDA]: Forgot to add stir4200.c in previous commit.

<herbert@gondor.apana.org.au>
   [IPSEC]: Move hardware headers for decaped packets.
   
   Move the hardware header so that it appears next to the payload for AF_PACKET
   sockets.

<grundler@parisc-linux.org>
   [TG3]: Abstract out mailbox workarounds into tw32_{rx,tw}_mbox().

<ja@ssi.bg>
   [IPV4]: Add configurable restriction of local IP announcements in ARP requests.

<romieu@fr.zoreil.com>
   [IRDA]: Fix error return status in stir4200 driver.
   
   If stir_reset() succeeds, stir_net_open() must not return a
   success status code for every failure until irlap_open().

<romieu@fr.zoreil.com>
   [IRDA]: In stir4200 driver, defer netif_start_queue() until device opening succeeds.

<petri.koistinen@iki.fi>
   [WAN]: Kconfig clean-up and update URL links.

<wensong@linux-vs.org>
   [IPVS] remove the superfluous call of waitpid in sync code

<wensong@linux-vs.org>
   [IPVS] retry to run kernel_thread when memory is temporarily exhausted

<wensong@linux-vs.org>
   [IPVS] update the version number of code to 1.2.0

<hch@lst.de>
   [SUNGEM]: Kill unused variable on ppc.

<grundler@parisc-linux.org>
   [TG3]: Define MBOX_WRITE_REORDER flag to zero on non-x86.

<sri@us.ibm.com>
   [SCTP] Revert back to use kmalloc() for ssnmap allocs of sizes < 128K.

<davej@redhat.com>
   [CPUFREQ] bump copyrights.

<david-b@pacbell.net>
   [PATCH] USB: EHCI updates (mostly periodic schedule scanning)
   
   [USB] EHCI updates
   
   Update periodic schedule scanning
      - fix shutdown sometimes-hangs (Bernd Porr)
      - resolve the "whole frame at once" FIXME
      - try harder to avoid rescanning
      - don't delegate interrupt qh handling to a buggy helper routine
      - describe more of the relevant iso tuning parameters
   
   One-liners:
      - URB_NO_INTERRUPT hint affects ISO
      - show correct data toggle in sysfs debug files
      - FIXME is resolved by Linus' 20msec delay

<pmarques@grupopie.com>
   [PATCH] USB: fix usblp.c
   
   The line that IMHO triggers the bug is this:
   
   "writecount += usblp->writeurb->transfer_buffer_length;"
   
   It uses "usblp->writeurb->transfer_buffer_length" before initializing it,
   assuming that it will be zero on the first run. If it is not zero, but instead
   random *negative* garbage from memory, the loop will start printing endless data
   from user-space data.

<abbotti@mev.co.uk>
   [PATCH] USB: ftdi_sio new PIDs and name fix for sysfs
   
   This patch adds a couple of new PIDs for the ftdi_sio driver and
   changes the name of the USB-UIRT device to avoid the "/" character,
   as that appears as a directory separator in the sysfs namespace.

<dlstevens@us.ibm.com>
   [IPV6]: Add sysctl to force MLD version.

<kberg@linux1394.org>
   IEEE1394(r1125): Set host field of hpsb_address_serve struct when registering address spaces.

<bcollins@debian.org>
   IEEE1394(r1126): Small cleanup based on patch from Isaac Claymore.

<bcollins@debian.org>
   IEEE1394(r1128): Implement bus reset handling for hosts (based on patch from Oracle)

<bcollins@debian.org>
   IEEE1394(r1129): Initial support for reusing node entries over plug/unplug cycles

<bcollins@debian.org>
   IEEE1394(r1130): Conversion of some list_for_each() usages to list_for_each_entry().

<bcollins@debian.org>
   IEEE1394/OHCI(r1131): Suspend/resume isn't dependent on CONFIG_PM.

<kberg@linux1394.org>
   IEEE1394(r1132): Update Kconfig description of the eth1394 driver.

<bcollins@debian.org>
   IEEE1394: Sync revisions

<bcollins@debian.org>
   IEEE1394(r1134): Fix some typos introduced over the last few changes

<bcollins@debian.org>
   IEEE1394(r1135): Initial ieee1394_host_class implementation.

<bcollins@debian.org>
   IEEE1394(r1136): Implement node class

<davem@nuts.davemloft.net>
   [TG3]: Two more PHY bug workaround, plus fix DMA test on big-endian.

<domen@coderock.org>
   [PATCH] USB: some stv680 fixes
   
   - swapRGB is already initialized to 0
   - change "swapRGB_on == 1" to match in-source documentation
   - submit urb with GFP_ATOMIC (interrupt context) - this made driver
      unusable because of "might_sleep" messages.
   - group some "case"s
   - release vdev on fail
   - remove "kfree(0)" checking

<davem@nuts.davemloft.net>
   [TG3]: Fix early chip programming in tg3_setup_copper_phy().
   
   1) First action must be to set MAC_EVENT to zero.
   2) Do not forget to clear MI_COMPLETION/LNKSTATE_CHANGED
      status bits in MAC_STATUS register.
   
   This fixes the bug wherein the link does not come up at all
   at the first ifup done after tg3 module load.

<stern@rowland.harvard.edu>
   [PATCH] USB: Remove unneeded and error-provoking variable in UHCI
   
   This patch removes an unneeded "status" field from the UHCI driver's
   URB-private data structure.  The driver had been storing the status of
   completed URBs there rather than in the URBs themselves.  This not only is
   wasteful of space but is also a cause of bugs, since the USB core relies
   on urb->status for proper synchronization with the driver.
   
   The patch also takes care of a number of small things that have been
   bugging me for ages:
   
      Close a small loophole by allowing an URB to be unlinked even
      before the uhci_urb_enqueue() procedure has started.
   
      Remove some fossil code from back when interrupt URBs were
      automagically resubmitted.
   
      Giveback unlinked URBs in the order they were unlinked.
   
      Don't set urb->status for dequeued URBs; the core has already
      set it for us.
   
      Rename uhci_remove_pending_qhs to uhci_remove_pending_urbps.
      (That has _really_ bothered me!)

<davem@nuts.davemloft.net>
   [TG3]: Bump driver version and reldate.

<stern@rowland.harvard.edu>
   [PATCH] USB: Even out distribution of UHCI interrupt transfers
   
   This patch evens out the distribution of interrupt transfers for the UHCI
   driver.  It insures that no frame must handle interrupt queues for more
   than two different periods, thus improving the bandwidth utilization.
   
   It also simplifies the initialization code by replacing a multi-nested
   "if" statement with a simple bit-operation (thanks to Eric Piel for
   suggesting this approach).

<stern@rowland.harvard.edu>
   [PATCH] USB: ERRBUF_LEN compiling error when PAGE_SIZE=64KB on IA64
   
   Randy, thanks for forwarding this to me.
   
   > Johannes,
   >
   > When I compile base kernel 2.6.1 with PAGE_SIZE=64KB on an IA64
   > platform, there is an error.
   >   CC      init/version.o
   >   LD      init/built-in.o
   >   LD      .tmp_vmlinux1
   > drivers/built-in.o(.init.text+0x168a2): In function `uhci_hcd_init':
   > : undefined reference to `__you_cannot_kmalloc_that_much'
   > make: *** [.tmp_vmlinux1] Error 1
   >
   > That's because ERRBUF_LEN (equal to PAGE_SIZE*8) is too long when
   > PAGE_SIZE=64KB. Actually, there was a similar error found by Tony. See
   > http://marc.theaimsgroup.com/?l=linux-ia64&m=105604765306485&w=2.
   >
   > Could you change the definition of ERRBUF_LEN to a fixed value? For
   > example, 32*1024?
   >
   > Yanmin
   
   Yanmin, I'm the new maintainer for the UHCI driver.  Yep, that's a
   definite error.  This will fix it.
   
   Also included in this patch: change some confusing references from "high
   speed" to "full speed" and add proper hyphenation.

<stern@rowland.harvard.edu>
   [PATCH] USB: Simplify locking in UHCI
   
   This patch is an amalgam of 9 contributions from Stephen Hemminger.  It
   begins the process of straightening out the use of semaphores and locking
   in the UHCI driver by removing unneeded irqsaves and irqrestores.  It
   also removes an unnecessary list node and makes a couple of other small
   changes.
   
   
   
   clear_next_interrupt only called in IRQ context don't need irqsave/restore
   
   Since uhci_finish_completion is only called from IRQ routine,
   the irqsave/irqrestore is redundant and unnecessary.
   
   UHCI transfer_result is only called from IRQ context
   so irqsave/restore is unnecessary here.
   
   uhci_finish_urb is always called from irq so
   no need for irqsave/irqrestore.
   
   uhci_add_complete only called from IRQ context
   
   The complete_list element in the urb private data is redundant,
   since it is only used when the urb is on the complete list.
   And given the state transitions, an urb can't be on the complete list
   and any other list (remove, or urb_list).
   Therefore just use urb_list to link the complete_list
   
   Use list_move_tail to move between remove (or urb_list) and the complete_list.
   
   Save irq state in uhci_stop so that the irqsave/irqrestore's
   in all the free_pending and remove_pending code can be eliminated.
   
   Since uhci_stop now saves IRQ state, the free/remove pending routines
   no longer need irqsave/irqrestore.

<stern@rowland.harvard.edu>
   [PATCH] USB: Mask "HC Halted" bit in the UHCI status register
   
   Contrary to the UHCI specification document, in real controllers the "HC
   Halted" bit in the status register cannot be cleared by writing a 1.  It
   will persist for as long as the controller is halted.  Hence the bit needs
   to be masked away before checking whether or not the controller initiated
   an interrupt.
   
   Without this patch, other devices sharing the same IRQ line might not get
   serviced while the host controller is suspended, because the always-on
   status bit would cause the UHCI driver to report that it had handled the
   interrupt.

<stern@rowland.harvard.edu>
   [PATCH] USB Storage: Handle excess 0-length data packets
   
   This patch is an attempt to cope with Genesys Logic's, shall we say,
   creative approach to implementing the USB protocols.  Their high-speed
   mass storage devices sometimes add an excess 0-length packet to the end of
   a data phase transmission.  Of course we don't read that packet as part of
   the data phase; we see it as a 0-length CSW message.  The real CSW follows
   immediately after.  (Or sometimes a STALL follows immediately after, with
   the real CSW coming after that!)
   
   The patch checks the results of the first attempt to read the CSW.  If it
   sees a normal packet (not a STALL) with length 0, it retries the read.
   Reports from two users indicate that it improves the performance of their
   USB-2 DVD drives.

<stern@rowland.harvard.edu>
   [PATCH] USB Storage: Treat STALL as failure for CB[I]
   
   I recall something like this had to be changed a while ago, but it looks
   like it's still not right.  A STALL during either the command or data
   phase of a CB[I] command should indicate a failure.

<stern@rowland.harvard.edu>
   [PATCH] USB Storage: Reduce auto-sensing for CB transport
   
   This patch addresses a problem common among digital cameras that use the
   CB transport.  Namely, too much auto-sensing confuses them; particularly
   auto-sensing after INQUIRY.
   
   I've made some traces of a Windows 2000 driver to see what it does (data
   sent to Andries Brouwer for inclusion on his web site; I'll announce
   when it's ready for viewing).  Basically, it almost never sends REQUEST
   SENSE unless it received a STALL from the device.
   
   That's a pretty bogus way to operate, because it means that Windows has no
   way to tell when the device has finished executing a command if the
   command doesn't involve an IN transfer.  Even after a lengthy WRITE,
   Windows continues to transmit more commands without regard for whether or
   not they will get overwritten in the device's internal buffer (and hence
   not executed).  Indeed, exactly that happened with some of the commands in
   one of my traces.
   
   To be safe, we must follow every non-IN transfer with an auto-sense, but
   IN transfers that don't stall can be considered to have succeeded.
   That's what this patch does.  It reduces auto-sensing by a considerable
   factor, probably close to half.  It also fixes the problem with INQUIRY,
   since INQUIRY involves an IN data transfer.

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB Storage: Save the SCSI residue value when auto-sensing
   
   This patch (a regeneration of as173) saves the residue value of a command
   when doing an auto-sense.
   
   Not that it really matters much -- almost nobody looks at that value.  But
   it's definately incorrect the way it is, and this fixes it.

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB Storage: Reduce unsolicited auto-sense
   
   This patch (a regeneration of as185) reduces the amount of auto-sensing we
   do even further.  It also zeros-out the sense buffer in those cases where
   we do auto-sense and get back no error.

<mdharm-usb@one-eyed-alien.net>
   [PATCH] USB Storage: Fix small endian-ness bug
   
   This patch fixes up a small endian-ness bug from mid-January.

<stern@rowland.harvard.edu>
   [PATCH] USB Storage: unusual_devs.h fixup
   
   On 15 Feb 2004, Frank D. Cringle wrote:
   
   > Hi,
   >
   > my syslog requests that I send this message.  See below regarding
   > usb-storage: This device ... has an unneeded SubClass entry in unusual_devs.h
   
   > Feb 15 00:11:16 dagger usb-storage: This device (07cf,1001,1000 S 05 P 00) has an unneeded SubClass entry in unusual_devs.h
   > Feb 15 00:11:16 dagger Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>
   
   Thank you for sending this in.
   
   Greg, it looks like an earlier patch changed too much.  Here is the fix.
   Also included in this patch:
   
      Moved several entries that were in the wrong positions.
   
      Removed an entry (0x08ca, 0x2011) that could never be used
      because the preceding entry always would take precedence.

<dsaxena@plexity.net>
   [PATCH] USB: Fix USB host code to use generic DMA API

<sri@us.ibm.com>
   [SCTP] Force enable Crypto options that are needed by SCTP config.

<ja@ssi.bg>
   [IPV4]: Add sophisticated ARP reply control via arp_ignore sysctl.

<mbligh@aracnet.com>
   [NET]: Ditch TSO in loopback driver, it's had enough testing.

<wesolows@foobazco.org>
   [SPARC32] Uninline atomic_t functions to save space.

<mgreer@mvista.com>
   [PATCH] PCI: Changing 'GALILEO' to 'MARVELL'
   
   I'm working with some Marvell components (formerly Galileo Technologies)
   and noticed that the entries in include/linux/pci_ids.h have become
   dated.  I have attached a patch that changes 'GALILEO' to 'MARVELL',
   adds some more devices, and updates the uses of the macros in the code.
   Please note that the newer marvell parts start with 'MV' instead of 'GT'
   to represent the new name.  Also, I didn't change all uses of galileo to
   marvell, only the macro in pci_ids.h.

<tlnguyen@snoqualmie.dp.intel.com>
   [PATCH] PCI: add copyright for files msi.c and msi.h
   
   First I would like to say sorry for not responding immediately after receiving
   your email mentioning Copyright. I have contacted Intel Legal for proper text
   upon receiving this email; but have not received any response. As a result of
   team discussion, the attached patch, based on Linux kernel 2.6.3-rc2, includes
   the Intel Copyright for files: msi.h and msi.c.

<willy@debian.org>
   [PATCH] PCI: Fix pci_bus_find_capability()
   
   pci_bus_find_capability() is currently broken.  It checks the wrong
   device's hdr_type for being a cardbus bridge or not.  This patch pulls
   the guts of pci_bus_find_capability() and pci_find_capability() into a
   new function __pci_bus_find_cap() and changes these two functions to
   call it.

<ambx1@neo.rr.com>
   [PATCH] PCI: remove unused defines in pci.h
   
   It occured to me that we also have the following related code in pci.h:
   Perhaps this should be removed as well?

<ak@suse.de>
   [PATCH] Intel x86-64 support merge
   
   This has all the x86-64 specific changes for Intel Prescott/Nocona
   support.
   
   It requires a few minor changes outside arch/x86_64, which I am sending
   separately.
   
   This patch is needed to boot an 64bit kernel on a 64-bit capable
   Prescott machine.
   
   The ugliest part is probably the swiotlb code.  In fact the code for
   that is not even included, but just reused from IA64.  swiotlb
   implements the PCI DMA API using bounce buffering.  I don't like this at
   all, but there was no other way to support non DAC capable hardware
   (like IDE or USB) on machines with >3GB.  Please redirect all flames for
   that to the Intel chipset designers.
   
   ChangeLog:
   - Add Kconfig options for PSC
   - Add support to reuse microcode driver from i386 (Suresh B Siddha)
   - Try to optimize for the selected CPU
   - Fix early CPUID check for Intel CPUs (Suresh B Siddha)
   - Fix GDT to use the configured cache line size for padding
   - Support monitor/mwait idle loop
   - Support HyperThreading
   - Support Intel CPUID flags
   - Remove all 3dnow prefetches
   - Add alternative() for the prefetchw prefetch inline.
   - Include P4 driver in oprofile
   - Support Intel NOPs in alternative

<ak@suse.de>
   [PATCH] Update i386 microcode driver for x86-64
   
   The microcode driver needs to support 64bit physical addresses too.

<ak@suse.de>
   [PATCH] Enable Intel AGP on x86-64
   
   Enable the Intel AGP driver for x86-64 too.

<ak@suse.de>
   [PATCH] Allow P4 oprofile code for x86-64
   
   P4 support was previously ifdefed out for x86-64, remove that.

<maeda.naoaki@jp.fujitsu.com>
   [PATCH] ia64: fix possible memory leak in PCI alloc_resource()
   

<pfg@sgi.com>
   [PATCH] ia64: add "platform_data" to struct pci_controller, update SN2 accordingly
   
   Here's a small mod for Altix. It breaks up our 'pci fixup' function and
   has some other smallish clean ups.
   
   For the ia64 crowd I've added 'platform_data' to struct pci_controller.

<dlsy@snoqualmie.dp.intel.com>
   [PATCH] PCI Hotplug: Add SHPC and PCI Express hot-plug drivers

<lxiep@linux.ibm.com>
   [PATCH] PCI Hotplug: Add PPC64 PCI Hotplug Driver for RPA

<johnrose@austin.ibm.com>
   [PATCH] PCI Hotplug : add DLPAR driver for PPC64 PCI Hotplug slots
   
   Please consider the following patch for submission.  This patch contains the
   implementation of the I/O Slot DLPAR Drivers for PPC64 RISC Platform
   Architecture.  This module depends on the RPA PCI Hotplug Module in the
   previous post.  The patch is made against kernel version 2.6.3-rc2.
   
   The Dynamic Logical Partitioning Module allows the runtime movement of I/O
   Slots between logical partitions.  An administrator can logically add/remove
   PCI Buses to/from a PPC64 partition at runtime.  These operations are initiated
   using interface files located at:
   /sys/bus/pci/pci_hotplug_slots/control/
   Development contact for this module is John Rose (johnrose@austin.ibm.com).

<wensong@linux-vs.org>
   [IPVS] tidy up the header files to include

<davem@nuts.davemloft.net>
   [APPLETALK]: Use '%Z' for size_t.

<david-b@pacbell.net>
   [PATCH] USB: usbcore, scatterlist cleanups
   
   [USB] minor usb_sg_wait() cleanups
   
     - count urb completions correctly when there's a non-recoverable
       fault during scatterlist submission ... prevents a hang (seen
       only with already-faulty usb-storage devices).
   
     - don't local_irq_{save,restore}() when not needed

<david-b@pacbell.net>
   [PATCH] USB: usbcore, hub driver enables TT-per-port mode
   
   [USB] hub driver turns on multi-TT mode
   
   This turns on the multi-tt mode in hubs that support it; the Cypress
   "TetraHub" products are appearing at retail now, complete with some
   of the first Mini-B connectors I've seen shipping.
   
   This will be important for hooking up lots of full speed isochronous
   devices (audio, video, etc).

<david-b@pacbell.net>
   [PATCH] USB: usbcore, avoid RNDIS configs
   
   [USB] usbcore avoids RNDIS configuration.
   
   Modifies the "choose a configuration" heuristic to recognize the other
   case that 2.4 handled:  RNDIS, a MSFT protocol that's sometimes used as
   the first/default configuration (as specified by MSFT) on cable modems.
   CDC Ethernet is vendor-neutral, and preferred (except by MSFT).
   
   The initial version didn't catch RNDIS because it cloaks its ethernet
   links as a kind of CDC ACM (modem) device.

<david-b@pacbell.net>
   [PATCH] USB: usbtest, two more protocol cases
   
   [USB] usbtest, two more control queueing subtests
   
    From Alan Stern.  This adds two more "short control read" test cases,
    both padding the "expected" transfer to end-of-packet.  We need both
    hosts and devices/gadgets to behave correctly here.

<davem@nuts.davemloft.net>
   [BLUETOOTH]: Use min_t to avoid warning in rfcomm sock.c

<davem@nuts.davemloft.net>
   [DECNET]: Make second arg to dn_alloc_send_skb a size_t pointer.

<david-b@pacbell.net>
   [PATCH] USB: ehci-hcd, fullspeed iso data structures (1/3)
   
   [USB] start ehci split transaction support
   
   Updates split ISO transaction descriptor structure, add bitmask #defines;
   it's groundwork for full speed ISO support in EHCI.  Updates periodic
   schedule scanning, and bandwidth calculations accordingly.
   
   Fixes bandwidth calculation to behave when the periodic schedule has
   entries of multiple types ... as will be more common as ISO support
   starts to be used here.

<david-b@pacbell.net>
   [PATCH] USB: ehci-hcd, fullspeed iso data structures (2/3)
   
   [USB] ehci, rename some iso data structures
   
   Rename some data and functions used by EHCI to manage ISO transactions,
   since they currently assume only high speed transfers.  Much of the same
   infrastructure will be used for full speed ISO, with split transactions.

<david-b@pacbell.net>
   [PATCH] USB: ehci-hcd, scheduler handles TT collisions (3/3)
   
   [USB] ehci-hcd detects microframe transaction scheduling collisions
   
   This detects TT schedule collisions for split periodic transactions
   on USB 2.0 hubs, handling both isochronous and interrupt transfers
   but not supporting the "wrap around to the next frame" modes for
   either transfer type.
   
   The ISO scheduler is modified to use that support for full speed
   transfers ... though nothing will yet ask it to do that.
   
   It also tracks schedule depth, to help avoid accepting ISO URBs
   which need more time than currently remains unscheduled.

<kaber@trash.net>
   [PKTSCHED]: Use queue limit of 1 when tx_queue_len is zero.

<greg@kroah.com>
   PCI: fix pci quirk for P4B533-V, fixes bug 1720
   
   Thanks to stephanrave@gmx.de (Stephan Rave) for the patch.

<stern@rowland.harvard.edu>
   [PATCH] USB: Improve UHCI root hub code: descriptor, OC bits, etc.
   
   This patch is from David Brownell.
   
   UHCI root hub updates ... minor bugfixes and cleanups, improving
   conformance with the USB hub specification.
   
    - UHCI doesn't support any kind of power switching; so modify the
      hub descriptor to stop claiming it does!  Likewise fail attempts
      to disable power on any port.
   
    - Intel defined both overcurrent status overcurrent-change bits, but
      the current code only knows about one.  Modify hub descriptor to
      report per-port overcurrent protection; and use both bits.
   
    - Modify the port status set/clear macros to know about the bits
      that must always be written as zero, and the write-to-clear bits.
      Update callers which wrote "set" instead of "clear".
   
    - Rewrote code returning port status; magic numbers are gone.
   
    - Driver can't really support 8 root hub ports; don't try.
   
   Also moves the #define DEBUG earlier so that it can kick in any of
   the various debug macros ... like pr_debug() and dev_dbg().

<stern@rowland.harvard.edu>
   [PATCH] USB: More UHCI root hub code improvements
   
   This adds some minor improvements to the UHCI root hub code.  The only
   important change is that it handles the overcurrent indicator bits on VIA
   controllers properly; they are reported using the opposite sense from
   Intel controllers.
   
   
   
      Report the OverCurrent status bits in the /proc debugging file
      and spontaneously change the use of whitespace.
   
      Remove unused variable in uhci_hub_status_data().
   
      Report OverCurrent status for VIA controllers properly (the
      meaning of the status bit is inverted with respect to Intel
      controllers).
   
      Save the port status I/O address in a variable rather than
      recalculating it many times.
   
      Merge code for handling SetHubFeature and ClearHubFeature since
      we don't implement either one.
   
      Remove some unnecessary comments.
   
      Remove redundant min_t calculation.

<torvalds@home.osdl.org>
   Fix up the microcode update on regular 32-bit x86. Our wrmsr()
   is a bit unforgiving and really doesn't like 64-bit values.
   
   We should possibly make wrmsr() automatically truncate the
   arguments, but regardless we should just fix microcode.c.

<bcollins@debian.org>
   IEEE1394(r1137): Check to make sure we have a hostinfo in sbp2_host_reset.

<B.Zolnierkiewicz@elka.pw.edu.pl>
   [PATCH] move CONFIG_HOTPLUG to init/Kconfig
   
   As a bonus: cris, h8300, m68k and sparc can use CONFIG_HOTPLUG now.

<johnstul@us.ibm.com>
   [PATCH] ia64: add support for time-interpolation via IBM EXA Cyclone timer
   
   This patch provides access to the cyclone time source found on IBM EXA
   based systems (x450 and x455). This is needed on multi-node systems
   where the CPU ITCs are not synchronized, causing possible time
   inconsistencies.
   
   This release fixes one last minor think-o and ran overnight without any
   time inconsistencies (when used in conjunction w/ the
   time-interpolator-fix_A0 patch).

<brazilnut@us.ibm.com>
   [PATCH] 2.6.3 pcnet32.c bus master arbitration failure fix
   
   Here is the first of several individual patches to 2.6.3 for the pcnet32
   driver.
   
   The driver did not properly serialize accesses to chip registers, resulting
   in reading/writing the wrong register.  This patch eliminates this problem
   and gets rid of the cause of the symptom of 'bus master arbitration failure'.
   
   It was easier to use generic_mii_ioctl than modify the current pcnet32_ioctl
   routine with the necessary locks.  This has been re-tested on an IA32 system.

<shemminger@osdl.org>
   [PATCH] hp100 pci probe problem
   
   Jean discovered problem with my hp100 PCI changes.
   This should fix the problem... The multi-bus probe logic error handling was
   botched.
   
   He validated it; so please apply

<brazilnut@us.ibm.com>
   [PATCH] 2.6.3 pcnet32.c SLAB_DEBUG length error fix
   
   The pcnet32 driver uses the incorrect length (of zero) in
   pci_[un]map_single for receive buffers.  This is seen with SLAB_DEBUG
   enabled.
   
   Tested in IA32 system.  If this patch is not applied after my previous
   one hunks #1, #3, and #5 will have an offset of -2 lines.

<mlindner@syskonnect.de>
   [PATCH] sk98lin: Added Support for Belkin adapter
   
   Patch 1/2
   [SK98LIN]: Added Support for Belkin adapter
   [SK98LIN]: Don't handle Yukon2 cards at the moment

<mlindner@syskonnect.de>
   [PATCH] [kernel 2.6] sk98lin: Insert revision version and date
   
   to uniquely identify the files, it's necessary to add the version of
   each file. Please, don't remove the revision infos. It's really
   important for us.
   
   Patch 2/2
   [SK98LIN]: Insert revision version and date [back] into the files

<pe1rxq@amsat.org>
   [PATCH] 6pack reinit bug
   
   This patch is the same as to mkiss a while ago, the current code triggers a
   bug when reattaching a network device.

<shmulik.hen@intel.com>
   [PATCH] Add support for HW accel. slaves
   
   Now that David Miller accepted the first half of this set into 2.6,
   I'm resending the last half to you for inclusion in netdev-2.6.
   
   Tested against latest netdev-2.6. Summary:
   
   Change the bond interface to publish full VLAN hardware acceleration
   offloading capabilities, and add capability in all xmit functions to
   take special care for VLAN HW accel. tagged skb's that are going out
   through a slave that is not offloading capable.
   
   Add a mechanism to collect and save the VLAN Id's that have been
   added on top of a bond interface, and propagate the register/add/kill
   operations to the slaves.
   
   Add blocking mechanism to prevent adding VLAN interfaces on top of a
   bond that contains VLAN challenged slaves and to prevent adding VLAN
   challenged slaves to a bond that already has VLAN interfaces on top
   of it.
   
   Add a section about VLAN to Documentation/networking/bonding.txt and
   also correct some minor spelling/grammer errors.

<shmulik.hen@intel.com>
   [PATCH] Add VLAN support in TLB mode
   
   Add capability to tag self generated learning packets that are
   required to speed up port selection in the switch after a fail
   over in bonding since some switches will only update their MAC
   tables from tagged packets when VLAN support is turned on. All
   VLAN Id's that have been configured on top of the bond interface
   will be used in cyclic order.

<shmulik.hen@intel.com>
   [PATCH] Add VLAN support in ALB mode
   
   Add capability to tag self generated ARP packets that are required
   for receive load balancing in bonding. VLAN Id's are saved and used
   each time a new IP connection is established since 8021q currently
   supports IP binding.
   
   Update module version and comment blocks.

<jhf@rivenstone.net>
   [netdrvr sis900] fix multicast bug

<jmorris@redhat.com>
   [SELINUX]: Event notifications via netlink.

<davem@nuts.davemloft.net>
   [SELINUX]: Forgot to add these in previous commit.

<rddunlap@osdl.org>
   [PATCH] depca: remove double semi-colon
   
   description:      remove double semi-colon typo;

<brazilnut@us.ibm.com>
   [PATCH] 2.6.3 pcnet32.c transmit hang fix
   
   The transmit routine will stop interrupting and hang, causing the
   tx_timeout routine to attempt to restart the device when the 32-bit
   cur_tx counter wraps below dirty_tx.  If the device had called
   netif_stop_queue it will never call netif_wake_queue in the interrupt
   routine (at least on an IA32 system) due to 32-bit wrap around arithmetic.
   
   On my IA32 system 'dirty_tx > lp->cur_tx - TX_RING_SIZE + 2' would
   always evaluate to false when dirty and cur_tx were less than 15,
   preventing netif_wake_queue to be called.
   
   By starting dirty_tx and cur_tx at 0xfffffff0 (to reduce test time) I
   found that once cur_tx wrapped to zero, that transmitted buffers would
   never be unmapped or freed because 'while (dirty_tx < lp->cur_tx) {'
   was not true.  cur_tx would keep incrementing (in start_xmit) but dirty_tx
   would not (in pcnet32_interrupt), thus leaking skb's and pci map entries.
   On PPC machines, the system would quickly run out of pci maps.
   
   Fix tested on PPC and IA32.

<rddunlap@osdl.org>
   [PATCH] tr/3c359: handle kmalloc failures during init
   
   From: Pablo Menichini <pablo@menichini.com.ar>
   and maximilian attems <janitor@sternwelten.at>
   
   
   while looking at kj mails from 200212 and 200301
   this patch slept through
   originally from: Pablo Menichini <pablo@menichini.com.ar>
   rediffed and compile tested
   patch applies on plain 2.6.0
   
   maximilian attems <janitor@sternwelten.at>
   
   handle kmalloc failures during init
   
   diff -puN drivers/net/tokenring/3c359.c~tr3c_kmalloc drivers/net/tokenring/3c359.c
   
   
    linux-261-bk4-kj1-rddunlap/drivers/net/tokenring/3c359.c |   13 +++++++++++++
    1 files changed, 13 insertions(+)

<romieu@fr.zoreil.com>
   [PATCH] 2.6.3 - drivers/net/sis190.c - Tx desc overflow
   
   Tx descriptor overflow - take II.
   
   Assume tp->dirty_tx = NUM_TX_DESC/2, tp->cur_tx = NUM_TX_DESC - 1,
   watch "entry" go beyond NUM_TX_DESC. Actually this is where the same
   bug in r8169 driver comes from.

<bcollins@debian.org>
   IEEE1394(r1138): Cleanup nodemgr probe, and fix a bug with the driver update.

<akpm@osdl.org>
   [PATCH] tulip printk warning fix
   
   Don't assume the size of a dma_addr_t

<markh@osdl.org>
   [PATCH] add card types to aacraid driver
   
   This patch adds support for new RAID cards.  Also removes two cards from
   the list that were never products.
   
   
    Makefile  |    2
    aacraid.h |   21 +++
    linit.c   |   32 +++-
    rkt.c     |  416 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    rx.c      |   10 -
    5 files changed, 465 insertions(+), 16 deletions(-)

<davej@redhat.com>
   [CPUFREQ] Add extra __init markers to longhaul driver.
   Caught by Randy Dunlap.
   longhaul_cpu_init only gets called during startup, and calls
   other __init routines.

<davej@redhat.com>
   [CPUFREQ] Add extra __init markers to longrun driver.
   Caught by Randy Dunlap.
   longrun_cpu_init() only gets called during startup, and calls
   other __init routines.

<hch@lst.de>
   [PATCH] remove flush_cache_all() from qla1280
   
   It's not needed with the new DMA API and isn't exported to modules on
   some architectures.  (See davem's qla2xxx patch for reference)

<davem@redhat.com>
   [PATCH] qla2xxx: remove flush_cache_all

<akpm@osdl.org>
   [PATCH] ISDN udpate
   
   From: Karsten Keil <kkeil@suse.de>
   
   - new port of 2.4 I4L core to 2.6
   
   - new port of 2.4 I4L HiSax to 2.6
   
   - fixes for I4L CAPI subsystem to make it stable in 2.6
   
   - fix parameter handling of AVM ISA cards (calle)
   
   - cleanup ISDN config variables
   
   - SMP in act2000 and pcbit driver
   
   - remove check_region in act2000
   
   - mark hysdn, isdnloop and divert as BROKEN_ON_SMP

<akpm@osdl.org>
   [PATCH] i4l: hisax deadlock fix
   
   From: Karsten Keil <kkeil@suse.de>
   
   This patch fix a deadlock in HiSax (reported from David Woodhouse
   <dwmw2@infradead.org>).  upper layer was called back while holding the card
   lock fix is to move the wakeup call into BH handler to avoid direct
   callbacks.

<akpm@osdl.org>
   [PATCH] Fix for PPP activ/passiv filter
   
   From: Karsten Keil <kkeil@suse.de>
   
   I found a bug in the PPPIOCSPASS PPPIOCSACTIVE IOCTL implementation in
   kernel 2.5/2.6.
   
   The current pppd code use a empty filter (uprog.len=0) to detach the filter
   in the kernel, but this code was removed in 2.5.71 while fixing a compiler
   warning.
   
   Here the new patch, also with better limit checking.
   
   The second patch check for flen == 0 in the filter check too, since later
   in this code a filter[flen - 1] access is done, which is not so funny with
   flen 0.  Maybe it's not really needed anymore, since with the first patch
   it would not longer called with flen=0.
   
   paulus says:
   
       It looks correct.  Previously we had (and in 2.4 we still have)
   
           if (uprog.len > 0 && uprog.len < 65536) {
         ...
   
       which gave warnings since uprog.len is unsigned short.  So someone
       decided that both parts of the condition were redundant.

<akpm@osdl.org>
   [PATCH] ia32 early printk
   
   From: Andi Kleen <ak@muc.de>
   
   Implement VGA and serial early printk on x86.  We just include the x86_64
   version.

<akpm@osdl.org>
   [PATCH] early printk tweaks
   
   - Use __pa() around the VGA base address: more friendly for the 4g/4g split.
   
   - Use cpu_relax() rather than open-coding rep_nop().
   
   - Default to 9600 baud
   
   - Move documentation to Documentation/kernel-parameters.txt
   
   - Make CONFIG_EARLY_PRINTK disableable if CONFIG_EMBEDDED

<akpm@osdl.org>
   [PATCH] Remove BDEV_RAW and friends
   
   These no longer do anything.
   
   This patch changes modules API.  It was acked by Arjan@RH and Hubert@Suse.

<akpm@osdl.org>
   [PATCH] msg.h needs list.h
   
   msg.h uses list_head.  (I'm not sure what config actually required this, but
   it is legit).

<akpm@osdl.org>
   [PATCH] ppc64: Fix prom.c warnings
   
   arch/ppc64/kernel/prom.c:200: warning: missing braces around initializer
   arch/ppc64/kernel/prom.c:200: warning: (near initialization for `hmt_thread_data[0]')
   arch/ppc64/kernel/prom.c: In function `prom_hold_cpus':
   arch/ppc64/kernel/prom.c:1090: warning: implicit declaration of function `_get_PIR'

<akpm@osdl.org>
   [PATCH] ppc64: fix saved_command_line/cmd_line lengths
   
   From: Anton Blanchard <anton@samba.org>
   
   cmd_line was twice the size of saved_command_line but we did a strcpy from
   the larger into the smaller.  Create COMMAND_LINE_SIZE and use it.

<akpm@osdl.org>
   [PATCH] ppc64: fix debugger() warnings
   
   From: Anton Blanchard <anton@samba.org>
   
   Fix compile warnings and add some type safety to debugger macros.

<akpm@osdl.org>
   [PATCH] ppc64: iseries IRQ fix
   
   From: Stephen Rothwell <sfr@canb.auug.org.au>
   
   This patch lets 2.6.3-rc4 build and boot on an PPC64 iSeries box (at least
   for my configuration).  The veth.o bit in the networking Makefile got there
   by accident and should be removed anyway ...
   
   There is more to make it work properly (note the "Temporary hack"), but
   this gets us closer.

<akpm@osdl.org>
   [PATCH] loop: remove the bio remapping capability
   
   This patch removes the loop feature wherein we remap BIOs for block-backed
   loop.  So file-backed and block-backed loop are handled identically.
   
   It cleans up the code a lot and fixes the low-on-memory lockups which
   block-backed loop currently suffers.
   
   What we lose is the journalling ordering guarantees which
   exts-on-loop-on-blockdev had.  But dm-crypt provides that.

<akpm@osdl.org>
   [PATCH] remove useless highmem bounce from loop/cryptoloop
   
   From: Ben Slusky <sluskyb@paranoiacs.org>
   
   The attached patch changes the loop device transfer functions (including
   cryptoloop transfers) to accept page/offset pairs instead of virtual
   addresses, and removes the redundant kmaps in do_lo_send, do_lo_receive,
   and loop_transfer_bio. Per Andrew Morton's request a while back.

<akpm@osdl.org>
   [PATCH] loop: BIO handling fix
   
   From: Ben Slusky <sluskyb@paranoiacs.org>
   
   One more patch --- this fixes a minor bio handling bug in the filebacked
   code path. I'd fixed it incidentally in the loop-recycle patch.
   
   I don't think you could actually see damage from this bug unless you
   run device mapper on top of loop devices, but still this is the correct
   behavior.

<akpm@osdl.org>
   [PATCH] loop.c doesn't fail init gracefully
   
   From: BlaisorBlade <blaisorblade_spam@yahoo.it>
   
   loop_init doesn't fail gracefully for two reasons:
   
   1) If initialization of loop driver fails, we have an call to
      devfs_add("loop") without any devfs_remove; I add that.
   
   2) On lwn.net 2.6 kernel docs, Jonathan Corbet says: "If you are calling
      add_disk() in your driver initialization routine, you should not fail
      the initialization process after the first call."
   
   So I make loop.c conform to this request by moving add_disk after all
   memory allocations.

<akpm@osdl.org>
   [PATCH] loop: remove redundant initialisation
   
   From: "Yury V. Umanets" <umka@namesys.com>
   
   This removes a redundant assignment in loop.

<akpm@osdl.org>
   [PATCH] ACPI PM timer
   
   From: Dominik Brodowski <linux@dominikbrodowski.de>,
         John Stultz <johnstul@us.ibm.com>,
         Dmitry Torokhov
   
   Add the ACPI Powermanagement Timer as x86 kernel timing source.  Unlike the
   Time Stamp Counter, it is a reliable timing source which does not get
   affected by aggressive powermanagement features like CPU frequency scaling.
   
   Some ideas and some code are based on Arjan van de Ven's implementation for
   2.4, and on R.  Byron Moore's drivers/acpi/hardware/hwtimer.c.
   
   
   We also replace the loop based delay_pmtmr with a TSC based delay_pmtmr,
   which resolves a number of issues caused by the loop based delay.  Unsynced
   TSCs as well frequency changing TSCs will effect the length of __delay(), but
   it seems this method works best.

<akpm@osdl.org>
   [PATCH] kthread primitive
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   These two patches provide the framework for stopping kernel threads to
   allow hotplug CPU.  This one just adds kthread.c and kthread.h, next
   one uses it.
   
   Most importantly, adds a Monty Python quote to the kernel.
   
   Details:
   
   The hotplug CPU code introduces two major problems:
   
   1) Threads which previously never stopped (migration thread,
      ksoftirqd, keventd) have to be stopped cleanly as CPUs go offline.
   2) Threads which previously never had to be created now have
      to be created when a CPU goes online.
   
   Unfortunately, stopping a thread is fairly baroque, involving memory
   barriers, a completion and spinning until the task is actually dead
   (for example, complete_and_exit() must be used if inside a module).
   
   There are also three problems in starting a thread:
   1) Doing it from a random process context risks environment contamination:
      better to do it from keventd to guarantee a clean environment, a-la
      call_usermodehelper.
   2) Getting the task struct without races is a hard: see kernel/sched.c
      migration_call(), kernel/workqueue.c create_workqueue_thread().
   3) There are races in starting a thread for a CPU which is not yet
      online: migration thread does a complex dance at the moment for
      a similar reason (there may be no migration thread to migrate us).
   
   Place all this logic in some primitives to make life easier:
   kthread_create() and kthread_stop().  These primitives require no
   extra data-structures in the caller: they operate on normal "struct
   task_struct"s.
   
   Other changes:
   
   - Expose keventd_up(), as keventd and migration threads will use kthread to
     launch, and kthread normally uses workqueues and must recognize this case.
   
   - Kthreads created at boot before "keventd" are spawned directly.  However,
     this means that they don't have all signals blocked, and hence can be
     killed.  The simplest solution is to always explicitly block all signals in
     the kthread.
   
   - Change over the migration threads, the workqueue threads and the
     ksoftirqd threads to use kthread.
   
   - module.c currently spawns threads directly to stop the machine, so a
     module can be atomically tested for removal.
   
   - Unfortunately, this means that the current task is manipulated (which
     races with set_cpus_allowed, for example), and it can't set its priority
     artificially high.  Using a kernel thread can solve this cleanly, and with
     kthread_run, it's simple.
   
   - kthreads use keventd, so they inherit its cpus_allowed mask.  Unset it.
     All current users set it explicity anyway, but it's nice to fix.
   
   - call_usermode_helper uses keventd, so the process created inherits its
     cpus_allowed mask.  Unset it.
   
   - Prevent errors in boot when cpus_possible() contains a cpu which is not
     online (ie.  a cpu didn't come up).  This doesn't happen on x86, since a
     boot failure makes that CPU no longer possible (hacky, but it works).
   
   - When the cpu fails to come up, some callbacks do kthread_stop(), which
     doesn't work without keventd (which hasn't started yet).  Call it directly,
     and take care that it restores signal state (note: do_sigaction does a
     flush on blocked signals, so we don't need to repeat it).

<akpm@osdl.org>
   [PATCH] Remove kstat cpu notifiers
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   Some well-meaning person put a notifier in for CPUs to update the kstat
   structures in sched.c.  However, it does nothing, and even with the full
   hotplug CPU patch, it still does nothing.
   
   Simple counters very rarely need anything done when CPUs come up or go
   down.  If you have per-cpu caches, or per-cpu threads, you need to do
   something.  But very rarely for stats.

<akpm@osdl.org>
   [PATCH] Minor workqueue.c cleanup
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   Move duplicated code to __queue_work(), and don't set the CPU for
   queue_delayed_work() until the timer goes off.  The second one only has an
   effect on CONFIG_HOTPLUG_CPU where the CPU goes down and the timer goes off
   on a different CPU than it was scheduled on.

<akpm@osdl.org>
   [PATCH] Remove More Unneccessary CPU Notifiers
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   Three more removed CPU notifiers extracted from the hotplug CPU patch.
   
   kernel/softirq.c: the tasklet cpu prepration callback is useless:
   the vectors are already initialized to NULL.  Even with the hotplug
   CPU patches, they're of little or no use.
   
   fs/buffer.c: once again, they are already initialized to zero.
   
   mm/page_alloc.c: once again, already initialized to zero.

<akpm@osdl.org>
   [PATCH] Use CPU_UP_PREPARE properly
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   The cpu hotplug code actually provides two notifiers: CPU_UP_PREPARE
   which preceeds the online and can fail, and CPU_ONLINE which can't.
   
   Current usage is only done at boot, so this distinction doesn't
   matter, but it's a bad example to set.  This also means that the
   migration threads do not have to be higher priority than the
   others, since they are ready to go before any CPU_ONLINE callbacks
   are done.
   
   This patch is experimental but fairly straight foward: I haven't been
   able to test it since extracting it from the hotplug cpu code, so it's
   possible I screwed something up.

<akpm@osdl.org>
   [PATCH] Limit hashtable sizes
   
   From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
   
   The issue of exceedingly large hash tables has been discussed on the
   mailing list a while back, but seems to slip through the cracks.
   
   What we found is it's not a problem for x86 (and most other
   architectures) because __get_free_pages won't be able to get anything
   beyond order MAX_ORDER-1 (10) which means at most those hash tables are
   4MB each (assume 4K page size).  However, on ia64, in order to support
   larger hugeTLB page size, the MAX_ORDER is bumped up to 18, which now
   means a 2GB upper limits enforced by the page allocator (assume 16K page
   size).  PPC64 is another example that bumps up MAX_ORDER.
   
   Last time I checked, the tcp ehash table is taking a whooping (insane!)
   2GB on one of our large machine.  dentry and inode hash tables also take
   considerable amount of memory.
   
   Setting the size of these tables is difficult: they need to be constrained on
   many-zone ia64 machines, but this could cause significant performance
   problems when there are (for example) 100 million dentries in cache.
   Large-memory machines which do not slice that memory up into huge numbers of
   zones do not need to run the risk of this slowdown.
   
   So the sizing algorithms remain essentially unchanged, and boot-time options
   are provided which permit the tables to be scaled down.

<akpm@osdl.org>
   [PATCH] add Pentium M and Pentium-4 M options
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   add Pentium M and Pentium-4 M options:
   
   - add MPENTIUMM (equivalent to PENTIUMIII except for a bigger
     X86_L1_CACHE_SHIFT)
   
   - document that MPENTIUM4 is the right choice for a Pentium-4 M

<akpm@osdl.org>
   [PATCH] gcc 2.95 supports -march=k6 (no need for check_gcc)
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   gcc 2.95 supports -march=k6 (no need for check_gcc)

<akpm@osdl.org>
   [PATCH] AMD Elan is a different subarch
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   - AMD Elan is a different subarch, you can't configure a kernel that runs
     on both the AMD Elan and other i386 CPUs
   
   - added optimizing CFLAGS for the AMD Elan

<akpm@osdl.org>
   [PATCH] Documentation: remove /etc/modules.conf refs
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   Someone complained about the number of references to /etc/modules.conf in
   the documentation.  While fixing them up (and examples where changed),
   removed those which are redundant due to MODULE_ALIAS.

<akpm@osdl.org>
   [PATCH] add some more MODULE_ALIASes
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   New MODULE_ALIASes in:
   1) arch/i386/kernel/microcode.c
   2) drivers/char/genrtc.c
   3) drivers/ide/ide-tape.c
   4) drivers/net/bonding/bond_main.c
   5) drivers/net/bsd_comp.c
   6) drivers/net/ppp_deflate.c
   7) drivers/net/ppp_generic.c

<akpm@osdl.org>
   [PATCH] bonding alias revert and documentation fix
   
   From: Rusty Russell <rusty@rustcorp.com.au>
   
   Jeff Garzik disliked the bonding driver knowing it was called "bond0".
   Remove that alias, and revert documentation.

<akpm@osdl.org>
   [PATCH] NGROUPS 2.6.2rc2 + fixups
   
   From: Tim Hockin <thockin@sun.com>,
         Neil Brown <neilb@cse.unsw.edu.au>,
         me
   
   New groups infrastructure.  task->groups and task->ngroups are replaced by
   task->group_info.  Group)info is a refcounted, dynamic struct with an array
   of pages.  This allows for large numbers of groups.  The current limit of
   32 groups has been raised to 64k groups.  It can be raised more by changing
   the NGROUPS_MAX constant in limits.h

<akpm@osdl.org>
   [PATCH] Mark intermezzo as broken
   
   The NGROUPS changes broke it, and we're not sure how to fixit, and nobody
   appears to be working on or testing intermezzo.

<akpm@osdl.org>
   [PATCH] bd_set_size i_size handling
   
   We need to hold i_sem while running i_size_write().  But that seems like a
   lot of fuss and deadlock potential.  So just write the dang thing.

<akpm@osdl.org>
   [PATCH] snprintf fixes
   
   From: Juergen Quade <quade@hsnr.de>
   
   Lots of places in the kernel are using [v]snprintf wrongly: they assume it
   returns the number of characters copied.  It doesn't.  It returns the
   number of characters which _would_ have been copied had the buffer not been
   filled up.
   
   So create new functions vscnprintf() and scnprintf() which have the
   expected (sane) semaptics, and migrate callers over to using them.

<akpm@osdl.org>
   [PATCH] devfs: race fixes and cleanup
   
   From: Andrey Borzenkov <arvidjaar@mail.ru>
   
   - use struct nameidata in devfs_d_revalidate_wait to detect when it is
     called without i_sem hold; take i_sem on parent in this case.  This
     prevents both deadlock with devfs_lookup by allowing it to drop i_sem
     consistently and oops in d_instantiate by ensuring that it always runs
     protected
   
   - remove dead code that deals with major number allocation.  The only
     remaining user was devfs itself and patch changes it to
   
   - use register_chardev to get device number for internal /dev/.devfsd and
     /dev/.statd.
   
   - remove dead auto allocation flag as well
   
   - remove code that does module get on dev open - it is handled by fops_get.
      Use init_special_inode consistently
   
   - get rid of struct cdev_type and bdev_type - both have just single dev_t
     now

<akpm@osdl.org>
   [PATCH] Enable coredumps > 2GB
   
   From: Andi Kleen <ak@muc.de>
   
   Some x86-64 users were complaining that coredumps >2GB don't work.
   
   This will enable large coredump for everybody.  Apparently the 32bit
   gdb/binutils cannot handle them, but I hear the binutils people are working
   on fixing that.  I doubt it will harm people - unreadable coredumps are not
   worse than no coredump and it won't make any difference in space usage if
   you get a 1.99GB or a 2.5GB coredump.  So just enable it unconditionally.
   If it should be really a problem for 32bit the rlimit defaults in
   resource.h could be changed.
   
   For file systems that don't support O_LARGEFILE you should just get an
   truncated coredumps for big address spaces.

<akpm@osdl.org>
   [PATCH] MIPS: New 2.6 serial drivers
   
   From: Ralf Baechle <ralf@linux-mips.org>
   
   Three new MIPS-specific serial drivers.  ip22.c is derived from the sparc
   zilog driver; guess we should write a generic Zilog driver somewhen ...

<akpm@osdl.org>
   [PATCH] #if versus #ifdef cleanup
   
   From: Valdis.Kletnieks@vt.edu
   
   15 changes of #if to #ifdef and 2 places CONFIG_FOO should be
   defined(CONFIG_FOO).  This gets rid of spurious warnings if you build with
   "-Wundef" so you get a warning if you have a preprocessor command like:
   
   #if CONFIG_ETRAX_DS1302_RSTBIT == 27
   
   and you'll be told if it's substituting a zero rather than silent
   weirdness and unexpected code generation.

<akpm@osdl.org>
   [PATCH] kNFSd: Fix possible scheduling_while_atomic in cache.c
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   We currently call cache_put, which can schedule(), under a spin_lock.  This
   patch moves that call outside the spinlock.

<akpm@osdl.org>
   [PATCH] kNFSd: Allow sunrpc/svc cache init function to modify the "key"
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   When adding a item to a sunrpc/svc cache that contains kmalloced data it is
   usefully to move the malloced data out of the key object into the new cache
   object rather than copying (as then we would need to cope with kmalloc
   failure and such).  This means modifying the original.
   
   If the kmalloced data forms part of the key, then we must not move the data
   out until after the key isn't needed any more.  So this patch moves the
   call to "INIT" on a new item (which fills in the key) to *after* the item
   has been found (or not), and also makes sure we only call the HASH function
   once.
   
   Thanks to "J.  Bruce Fields" <bfields@fieldses.org>
   
   also
   
    1/ remove unnecessary assignment
    2/ fix comments that lag behind implementation.

<akpm@osdl.org>
   [PATCH] kNFSd: ip_map_init does a kmalloc which isn't checked...
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   There is no way to return an error from a cache init routine, so instead we
   make sure to pre-allocate the memory needed, and free it after the lookup
   if the lookup failed.

<akpm@osdl.org>
   [PATCH] kNFSd: convert NFS /proc interfaces to seq_file
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   From: shemminger@osdl.org Sat Sep  6 09:19:50 2003
   Date: Fri, 5 Sep 2003 16:19:30 -0700
   
   Converts /proc/net/rpc/nfs and /proc/net/rpc/nfsd to use the simpler
   seq_file interface.

<akpm@osdl.org>
   [PATCH] kNFSd:fix build problems in nfs w/o proc_fs on 2.6.0-test5
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   From: Stephen Hemminger <shemminger@osdl.org>
   Date: Fri, 12 Sep 2003 11:31:06 -0700
   
   NFS won't build w/o CONFIG_PROC_FS.  Looks like typo's (or a C++
   programmer) in stats.h

<akpm@osdl.org>
   [PATCH] md: Print "deprecated" warning when START_ARRAY is used.
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   The "START_ARRAY" ioctl depends on major/minor numbers (as stored in the raid
   superblock) are stable over reboots, which is increasingly untrue.
   
   There are better ways to start an array (e.g.  with mdadm) so we mark the
   ioctl as deprecated for 2.6, and will remove it in 2.7.

<akpm@osdl.org>
   [PATCH] md: Split read and write end_request handlers
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   Instead of having a single end_request handler that must determine whether it
   was a read or a write request, we have two separate handlers, which makes
   each of them easier to follow.

<akpm@osdl.org>
   [PATCH] md: Discard the cmd field from r1_bio structure
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   The only time it is really needed is to differentiate a retry-on-fail from a
   write-after-read-for-resync request to raid1d.  So we use a bit in 'state'
   for that.

<akpm@osdl.org>
   [PATCH] md: Remove some un-needed fields from r1bio_s
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   next_r1 is never used, so it can just go.
   
   read_bio isn't needed as we can easily use one of the pointers in the
   write_bios array - write_bios[->read_disk].  So rename "write_bios" to "bios"
   and store the pointer to the read bio in there.

<akpm@osdl.org>
   [PATCH] md: Avoid unnecessary bio allocation during raid1 resync
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   For each resync request, we allocate a "r1_bio" which has a bio "master_bio"
   attached that goes largely unused.  We also allocate a read_bio which is
   used.  This patch removes the read_bio and just uses the master_bio instead.
   
   This fixes a bug wherein bi_bdev of the master_bio wasn't being set, but was
   being used.
   
   We also introduce a new "sectors" field into the r1_bio as we can no-longer
   rely in master_bio->bi_sectors.

<akpm@osdl.org>
   [PATCH] md: Dynamically limit size of bio requests used for raid1 resync
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   Currently raid1 uses PAGE_SIZE read/write requests for resync, as it doesn't
   know how to honour per-device restrictions.  This patch uses to bio_add_page
   to honour those restrictions and ups the limit on request size to 64K.  This
   has a measurable impact on rebuild speed (25M/s -> 60M/s)

<akpm@osdl.org>
   [PATCH] md: Allow partitioning of MD devices.
   
   From: NeilBrown <neilb@cse.unsw.edu.au>
   
   With this patch, md used two major numbers for arrays.
   
   One Major is number 9 with name 'md' have unpartitioned md arrays, one per
   minor number.
   
   The other Major is allocated dynamically with name 'mdp' and had on array for
   every 64 minors, allowing for upto 63 partitions.
   
   The arrays under one major are completely separate from the arrays under the
   other.
   
   The preferred name for devices with the new major are of the form:
   
     /dev/md/d1p3  # partion 3 of device 1 - minor 67
   
   When a paritioned md device is assembled, the partitions are not recognised
   until after the whole-array device is opened again.  A future version of
   mdadm will perform this open so that the need will be transparent.

<akpm@osdl.org>
   [PATCH] dm: Export dm_vcalloc()
   
   From: Joe Thornber <thornber@redhat.com>
   
   Export dm_vcalloc()

<akpm@osdl.org>
   [PATCH] dm: Move to_bytes() and to_sectors() into dm.h
   
   From: Joe Thornber <thornber@redhat.com>
   
   Move to_bytes() and to_sectors() into dm.h

<akpm@osdl.org>
   [PATCH] dm: Get rid of struct dm_deferred_io in dm.c
   
   From: Joe Thornber <thornber@redhat.com>
   
   Remove struct dm_deferred_io from dm.c.  [Christophe Saout]

<akpm@osdl.org>
   [PATCH] dm: Maintain ordering when deferring bios
   
   From: Joe Thornber <thornber@redhat.com>
   
   Make sure that we maintain ordering when deferring bios.

<akpm@osdl.org>
   [PATCH] dm: Tidy up the error path for alloc_dev()
   
   From: Joe Thornber <thornber@redhat.com>
   
   Tidy up the error path for alloc_dev()

<akpm@osdl.org>
   [PATCH] dm: Correct GFP flag in dm_table_create()
   
   From: Joe Thornber <thornber@redhat.com>
   
   For some reason dm_table_create() was allocating GFP_NOIO rather than
   GFP_KERNEL.

<akpm@osdl.org>
   [PATCH] dm: Zero size target sanity check
   
   From: Joe Thornber <thornber@redhat.com>
   
   Add sanity check to dm_table_add_target() against zero length targets.
   [Christophe Saout]

<akpm@osdl.org>
   [PATCH] dm: Remove redundant spin lock in dec_pending()
   
   From: Joe Thornber <thornber@redhat.com>
   
   Remove redundant spin lock in dec_pending()

<akpm@osdl.org>
   [PATCH] dm: drop BIO_SEG_VALID bit
   
   From: Joe Thornber <thornber@redhat.com>
   
   I just noticed that bio_clone copies the BIO_SEG_VALID bit from the original
   bio when it was set.  When we modify bi_idx or bi_vcnt afterwards the segment
   counts are invalid and the bit must be dropped (though it is fairly unlikely
   that it has already been set).  [Christophe Saout]

<akpm@osdl.org>
   [PATCH] Fix printk level on non fatal MCEs
   
   From: Andi Kleen <ak@suse.de>
   
   For various reasons non fatal Machine Checks can happen on Athlons (e.g.
   we have reports that laptops like to trigger them on suspend/resume)
   
   They are not necessarily fatal and often only minor hardware glitches.
   
   But what's annoying is that they're KERN_EMERG and pollute your console and
   scare the user into writing confused kernel bug reports.
   
   This patch just replaces the KERN_EMERGs with KERN_INFO for now.  Longer
   term I think it would be better to log this stuff into a separate log.

<akpm@osdl.org>
   [PATCH] MCE fixes and cleanups
   
   Andi notes that the
   
      smp_call_function(foo);
      foo();
   
   in there is incorrect on preemptible kernels.
   
   Fix that by using on_each_cpu(), which takes care of such things.
   
   Also, remove the open-coded timer from here.  We have
   schedule_delayed_work().
   
   And remove the `timerset' variable, which doesn't do anything.

<akpm@osdl.org>
   [PATCH] Rename bitmap_snprintf() and cpumask_snprintf() to *_scnprintf()
   
   From: Joe Korty <joe.korty@ccur.com>
   
   Rename bitmap_snprintf() to bitmap_scnprintf() and cpumask_snprintf() to
   cpumask_scnprintf(), as these functions now belong to the scnprintf family
   of functions.

<akpm@osdl.org>
   [PATCH] OSS: remove #ifdef's for kernel 2.0
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   The patch below removes two #ifdef's for kernel 2.0 from OSS.

<akpm@osdl.org>
   [PATCH] remove kernel 2.2 #ifdef's from {i,}stallion.h
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   The patch below removeskernel 2.2 #ifdef's from {i,}stallion.h .

<akpm@osdl.org>
   [PATCH] kbuild documentation fix
   
   From: Ryan Boder <icanoop@bitwiser.org>
   
   Explains how to compile external modules in
   Documentation/kbuild/modules.txt.

<akpm@osdl.org>
   [PATCH] adfs: remove a kernel 2.2 #ifdef
   
   From: Adrian Bunk <bunk@fs.tum.de>
   
   The patch below removes a kernel 2.2 #ifdef from fs/adfs/adfs.h .
   
   Note that this #ifdef was only present in the header, the implementation
   of adfs_bmap was already removed.

<akpm@osdl.org>
   [PATCH] defer panic for too many items in boot parameter line
   
   From: Werner Almesberger <werner@almesberger.net>
   
   When passing too many unrecognized boot command line options (which become
   arguments or environment variables), the 2.6 kernel panics (unlike 2.4,
   which just ignores the extra items).  Unfortunately, this happens before
   the console is initialized, so all you get is a kernel that dies quickly,
   for no apparent reason.
   
   This is particularly irritating if using UML with
   init=something wi th a lot of ar gu men t s
   
   The patch below delays the panic until after console_init.
   
   (akpm: I mainly added this in because we have other places where the
   panic-later-on machinery is needed).

<akpm@osdl.org>
   [PATCH] cpufreq_scale() fixes
   
   From: Dominik Brodowski <linux@dominikbrodowski.de>
   
   Use do_div on 32-bit archs in cpufreq_scale, and native "/" on 64-bit
   archs.

<akpm@osdl.org>
   [PATCH] Minor cross-compile issues
   
   From: Pratik Solanki <pratik.solanki@timesys.com>
   
   - Fix include path for build.c so that it finds asm/boot.h.
     /usr/include/asm/boot.h may not be present when cross-compiling on a
     non-Linux machine.
   
   - $(CONFIG_SHELL) instead of sh.

<akpm@osdl.org>
   [PATCH] /proc thread visibility fixes
   
   From: Kingsley Cheung <kingsley@aurema.com>
   
   Is is possible to examine the data of tasks currently existing in the system
   which are not threads of the same thread group.
   
   For example, the only task in the group where init is group leader is itself:
   
   gen2 02:50:44 ~: ls /proc/1/task
   1
   
   However, I can then read the contents of 'stat' for any other task in the
   system:
   
   gen2 02:49:45 ~: cat /proc/1/task/$$/stat
   1669 (bash) S 1668 1669 1669 34816 1730 256 1480 6479 12 4 8 5 5 17 15 0 1 0
   +8065 3252224 451 4294967295 134512640 134955932 3221225104 3221222840
   +4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0
   
   I had a look at fs/proc/base.c and found that the 'lookup' functions for
   these directories were checking that the task in question existed, but
   overlooked the following:
   
   1.  In the function proc_pid_lookup, a check is required to ensure that
       the task in question is a thread group leader.  Without the check, any
       task can have its data retrieved accordingly.  Consider the following.
       There is a multithreaded process 1777.
   
   gen2 23:22:47 /proc/1777: ls task
   1777  1778  1779  1780  1781  1782  1783  1784  1785  1786  1787  1788
   
   However, I can read the stat file for its thread 1778 as follows:
   
   gen2 23:22:50 /proc/1777: cat /proc/1778/stat
   1778 (multithreadtest) T 1777 1777 1672 34816 1672 64 0 0 0 0 14 17 0 0 15 0 12 0 8871 24727552 104 4294967295 134512640 13451510+
4 3221222496 1077365276 4294960144 0 0 0 0 3222479248 0 0 -1 1 0 0
   
   But 1778 is not meant to show up in /proc/, as intended right?:
   
   gen2 23:22:56 /proc/1777: ls /proc/
   1     1365  1661  1793  881        dma          kcore       scsi
   10    1371  1662  18    9          driver       kmsg        self
   1014  1372  1663  2     909        execdomains  loadavg     slabinfo
   1032  14    1664  3     963        fb           locks       stat
   1062  15    1665  4     966        filesystems  mdstat      swaps
   1066  16    1666  5     buddyinfo  fs           meminfo     sys
   1067  1605  1669  6     bus        ide          misc        sysrq-trigger
   1087  1610  1670  7     cmdline    interrupts   modules     sysvipc
   1095  1611  1671  736   cpuinfo    iomem        mounts      tty
   11    1641  1672  8     crypto     ioports      mtrr        uptime
   12    1658  17    807   devices    irq          net         version
   13    1660  1777  810   diskstats  kallsyms     partitions  vmstat
   
   2.  The other part of the bug is in the function proc_task_lookup.  Here
       there needs to be a check that the task X is indeed a thread of the
       thread group Y when we read /proc/<Y>/task/<X>.
   
   Right now, this check does not exist, which allows for any existing
   task to have its data read from another thread group directory.  The
   following reads the stat directory of my bash shell from the thread
   group 1.
   
   gen2 23:28:07 ~: cd /proc/1
   gen2 23:28:10 /proc/1: ls
   auxv     cwd      exe  maps  mounts  stat   status  wchan
   cmdline  environ  fd   mem   root    statm  task
   gen2 23:28:11 /proc/1: ls task
   1
   gen2 23:28:27 /proc/1: cat task/$$/stat
   1671 (bash) S 1670 1671 1671 34817 1802 256 1953 8101 12 4 10 6 9 26 15 0 1 0 5789 3252224 454 4294967295 134512640 134955932 322+
1225104 3221222840 4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0

<akpm@osdl.org>
   [PATCH] drivers/char/vt possible race
   
   From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
   
   I falled again on the crash in con_do_write() with driver->data beeing
   NULL.  It happens during boot, when userland is playing open/close games
   with tty's, I was intentionally typing keys like mad during boot trying to
   trigger another problem when this one poped up.
   
   Looking at the code, I'm not sure how protected we are by the above (tty)
   layer, paulus told me to not rely on anything like locking coming from
   there, so I decided to extend the scope of the console semaphore one more
   bit to cover races between calls to con_open, con_close and con_write.
   Note that in con_do_write, I intentionally drop the semaphore to avoid
   keeping it held when waiting on the local buffer, and I added some sanity
   checks on tty->driver_data with some printk's in case we still have an open
   race by the tty layer.  At least, now, the couple vc_allocated &
   tty->driver_data should be protected though.

<akpm@osdl.org>
   [PATCH] off_t in nfsd_commit needs to be loff_t
   
   From: Neil Brown <neilb@cse.unsw.edu.au>,
   
   From: Miquel van Smoorenburg <miquels@cistron.nl>
   
   While I was stress-testing NFS/XFS on 2.6.1/2.6.2-rc, I found that
   sometimes my "dd" would exit with:
   
      #  dd if=/dev/zero bs=4096 > /mnt/file
      dd: writing `standard output': Invalid argument
      1100753+0 records in
      1100752+0 records out
   
   After adding some debug printk's to the server and client code and some
   tcpdump-ing, I found that the NFSERR_INVAL was returned by nfsd_commit on
   the server.
   
   Turns out that the "offset" argument is off_t instead of loff_t.  It isn't
   used at all (unfortunately), but it _is_ checked for sanity, so that's
   where the error came from.

<akpm@osdl.org>
   [PATCH] skip offline CPUs in show_free_areas
   
   From: Christoph Hellwig <hch@lst.de>
   
   Don't try to display the per-cpu information for CPUs which aren't there.

<akpm@osdl.org>
   [PATCH] fix display of NBD in /proc/partitions
   
   The recent change to /proc/partitions which prevents it from displaying
   removeable media accidentally caused 128 NBD and 16 ramdisk partitions to
   appear in /proc/partitions instead.
   
   So add a specific gendisk flag which says "don't show me in /proc/partitions"
   and use that.

<akpm@osdl.org>
   [PATCH] cleanup patch that prepares for 4Kb stacks
   
   From: Arjan van de Ven <arjanv@redhat.com>
   
   I have 4Kb stacks + IRQ stacks working in my tree.  The biggest part of the
   4K-stacks work is changing hardcoded 8Kb assumptions to the proper,
   pre-existing define for this.  That part of the patch is appropriate in
   general, even when 4Kb stacks might not be.

<akpm@osdl.org>
   [PATCH] 3c59x: bring back the `enable_wol' option
   
   Some machines appear to have BIOS problems which are causing 3c59x adapters
   to come up in a powered-off state when WOL and PM are enabled.
   
   So bring back the 2.4 `enable_wol' module option which disables wake-on-lan
   unless the user specifically asked for it.

<akpm@osdl.org>
   [PATCH] Oprofile: fix nmi_timer_int detection
   
   From: Philippe Elie <phil.el@wanadoo.fr>
   
   From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
   
   The nmi_timer_int oprofile driver was enabling itself unconditionally if an
   SMP kernel was being used on a UP system without an IOAPIC.
   
   Tested on a P5 using NMI timer int driver and UP system using timer int
   driver both running an SMP kernel.
   
   2004-02-11  Zwane Mwaikambo <zwane@arm.linux.org.uk>
   
      * arch/i386/kernel/nmi.c: export nmi_active
      * arch/i386/oprofile/nmi_timer_int.c: use it to check if owe can use
        an nmi interrupt

<akpm@osdl.org>
   [PATCH] oprofile: ARM infrastructure
   
   From: Philippe Elie <phil.el@wanadoo.fr>
   
   From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
   
   This patch adds infrastructure code and enables ARM to utilise the timer
   int oprofile driver.  There is PMU code under development for the XScale
   but that is still forthcoming.  In the meantime you can use the timer int
   driver with an updated Oprofile-CVS userspace (SF is a bit slow, please
   allow 24hrs).

<akpm@osdl.org>
   [PATCH] oprofile: add Pentium Mobile support
   
   From: Philippe Elie <phil.el@wanadoo.fr>
   
   From: Will Cohen <wcohen@redhat.com>
   
   Add oprofile support for Pentium Mobile (P6 core).  Pentium Mobile needs to
   unmask LVPTC vector, since it doesn't hurt other P6 core based cpus we do
   it unconditionally for all these.
   
   This patch require userspace tools >= 0.8 (only in sourceforge cvs currently)

<akpm@osdl.org>
   [PATCH] remove max_anon limit
   
   From: Tim Hockin <thockin@sun.com>
   
   Remove the max_anon via dynamically allocation.  We also change the
   idr_pre_get() interface to take a gfp mask, which should have always been
   there.

<akpm@osdl.org>
   [PATCH] Fix __release_region() race
   
   From: MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>
   
   I am testing PCI hot-plug in 2.6.2 kernel, but sometimes a struct resource
   tree in kernel/resource.c was broken if multiple hot-plug requests are
   issued at the same time.
   
   The reason is lots of drivers call release_region() on hot removal, and
   __release_region(), which is invoked by release_region() macro, changes the
   tree without holding a writer lock for resource_lock.
   
   I think __release_region() must hold a writer lock as well as
   __request_region() does.
   
   A following patch fixes the issue in my environment.

<akpm@osdl.org>
   [PATCH] Documentation on how to debug modules
   
   From: Alex Goddard <agoddard@purdue.edu>
   
   How to debug module loading problems.  The wording is a slightly changed
   version of what Rusty said.

<akpm@osdl.org>
   [PATCH] Module headers cleanup
   
   From: Brian Gerst <bgerst@didntduck.org>
   
   Cleans up some leftovers from the old module loader:
   
   - Remove unused defines from modules.h
   
   - Remove unused file modsetver.h

<akpm@osdl.org>
   [PATCH] add clock_was_set() to all architectures
   
   From: Anton Blanchard <anton@samba.org>
   
   Add clock_was_set to all architectures.  I'm disappointed this wasnt done by
   whoever wrote the code.
   
   (It is a callback which the arch-specific RTC-updating code must make when
   someone sets the time).

<akpm@osdl.org>
   [PATCH] Fix race in epoll_ctl(EPOLL_CTL_MOD)
   
   From: Davide Libenzi <davidel@xmailserver.org>
   
   A potential race can happen in epoll_ctl(EPOLL_CTL_MOD) where an event can
   happen in between f_op->poll() and the lock on ep->lock (we cannot call
   f_op->poll() inside a lock, and the f_op->poll() callback does not carry
   any info at the current time - missing wake_up_info() already ;).  In that
   case the event would be removed.  We can easily leave the event inside the
   ready list and have the ep_send_events() logic do the job for us at later
   time.  (Thanks to david.lee@teracruz.com for reporting the thing, since it
   shouldn't have been a nice one ;)

<akpm@osdl.org>
   [PATCH] slab: remove extraneous printk
   
   From: "David S. Miller" <davem@redhat.com>
   
   From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
   
   If I create some kmem cache on 64-bit with like 3 u32's in it, it should
   silently just work and not warn.

<akpm@osdl.org>
   [PATCH] do_swap_page() return value fix
   
   From: BlaisorBlade <blaisorblade_spam@yahoo.it>
   
   An exhausted do_swap_page() should return VM_FAULT_OOM rather than -ENOMEM.

<akpm@osdl.org>
   [PATCH] ide-tape: remove obsolete onstream support
   
   From: Willem Riede <wrlk@riede.org>
   
   
   The onstream drives, be they scsi, atapi, ieee1394 or usb, are supported by the
   osst driver.  When the drives were new, code was introduced in ide-tape
   independently, but never really maintained since.  There are issues with the
   drives I found and dealt with in osst, that ide-tape doesn't address.
   
   So this code in ide-tape is both redundant and imperfect.  I assumed from
   http://marc.theaimsgroup.com/?l=linux-kernel&m=107550547613846&w=2 that there
   was buy in for removing it.
   
   When this patch is applied, ide-tape will refuse to attach to an onstream DI
   drive, and will write to syslog to use ide-scsi + osst instead.

<akpm@osdl.org>
   [PATCH] Disable bootmem warning
   
   From: Andi Kleen <ak@suse.de>
   
   Make the "hm, page reserved twice" message dependent on CONFIG_DEBUG_BOOTMEM.

<akpm@osdl.org>
   [PATCH] dm-crypt
   
   From: Christophe Saout <christophe@saout.de>
   
   Adds a crypto module for device-mapper.  The intent here is to remove
   cryptoloop ASAP, to pull the remapping gunk out of the loops driver and to
   migrate people onto dm-crypt.  It is on-disk compatible with existing
   cryptolop installations.
   
   See http://www.saout.de/misc/dm-crypt/ for usage details.

<akpm@osdl.org>
   [PATCH] Fix make rpm when using RH9 or Fedora..
   
   From: Thomas Davis <tadavis@lbl.gov>
   
   Doing a 'make rpm' will fail with the current RH9/Fedora RPM macros.
   
   The failure message is this:
   
   Processing files: kernel-debuginfo-2.6.3rc1mm1-12
   error: Could not open %files file /usr/src/redhat/BUILD/kernel-2.6.3rc1mm1/debugfiles.list: No such file or directory
   
   The fix is this patch:

<akpm@osdl.org>
   [PATCH] menuconfig: fix the check for ncurses-devel
   
   From: Sam Ravnborg <sam@ravnborg.org>
   
   Corrected check for missing ncurses-devel when executing "make menuconfig".
   Now tell user to install 'ncurses-devel' if check fails.

<akpm@osdl.org>
   [PATCH] Inefficient TLB flush fix
   
   From: Martin Hicks <mort@wildopensource.com>
   
   This is a patch based on one that Jack Steiner sent to the ia64 list in
   November.  The original thread can be found at:
   
   http://marc.theaimsgroup.com/?l=linux-ia64&m=106869606922555&w=2
   
   I created the little wrapper function that was requested.  I think the only
   other arch, other than ia64, that doesn't at least include asm-generic/tlb.h
   is arm.
   
   
   Something appears broken in TLB flushing on IA64 (& possibly other
   architectures).  Functionally, it works but performance is bad on systems
   with large cpu counts.
   
   The result is that TLB flushing in exit_mmap() is frequently being done via
   IPIs to all cpus rather than with a "ptc" instruction or with a new
   context..

<akpm@osdl.org>
   [PATCH] sf16fmr2 radio card driver
   
   From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio@vodafone.com>
   
   Add a new driver for the SF16FMR2 Radio card.

<akpm@osdl.org>
   [PATCH] Remove overenthusiastic BUG in smp_boot_cpus
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   There's no real need to BUG and stop the system from booting if the BIOS
   spec'ed apicid for the boot CPU isn't correct - we can continue perfectly
   well with the real one.

<akpm@osdl.org>
   [PATCH] Codingstyle update
   
   From: Michael Frank <mhf@linuxmail.org>

<akpm@osdl.org>
   [PATCH] smbfs: support the loop driver
   
   From: Urban Widmark <urban@teststation.com>
   
   Add the necessary bits for loop-over-smbfs.

<akpm@osdl.org>
   [PATCH] Fix sprintf modifiers in usr/gen_init_cpio.c for cygwin
   
   From: Pragnesh Sampat <pragnesh.sampat@timesys.com>
   
   The file initramfs_data.cpio is slightly different when generated on
   cygwin, compared to linux, which causes the kernel to panic with the
   message "no cpio magic" (See Documentation/early-userspace/README).
   
   The problem in cpio generation is due to the difference in sprintf
   modifiers on cygwin.  The code uses "%08ZX" for strlen of a device node.
   printf man pages discourages "Z" and has 'z' instead.  Both of these are
   not available on cygwin sprintf (at least some versions of cygwin).  The
   net result of all of this is that the generated file literally contains
   "ZX" and then the strlen after that and messes up that 110 offset etc.  The
   file is 516 bytes long on the system that I tested and on linux it is 512
   bytes.
   
   The fix below just uses "%08X" for that field.

<akpm@osdl.org>
   [PATCH] wireless/Kconfig enable/select complete replacement
   
   From: mcgrof@studorgs.rutgers.edu (Luis R. Rodriguez)
   
   Complete the migration from Kconfig's undocumented "enable" to "select".

<akpm@osdl.org>
   [PATCH] tuner driver fixes
   
   From: Gerd Knorr <kraxel@bytesex.org>
   
   "options tuner type=2" is just there for historical reasons and should
   only be used/needed if the main driver doesn't allow to configure the
   tuner type.  I'm not sure whenever I can remove that altogether without
   breaking anything.  There are several users of the tuner module, some
   outside the standard kernel tree ...
   
   > >         if (type < TUNERS) {
   > > +               t->type = type;
   > >                 printk("tuner: type forced to %d (%s) [insmod]\n",
   > >                        t->type,tuners[t->type].name);
   > >                 set_type(client,type);
   
   That is wrong, it will break in other corner cases, it may cause the
   set_type() function not doing the initializations.
   
   The prink can also be dropped because set_type does that too.  The patch
   below removes that.  It also makes the kernel messages a bit more verbose
   and adds support for two new tuners.

<akpm@osdl.org>
   [PATCH] crc32.c copyright fix
   
   From: Matt Domsch <Matt_Domsch@dell.com>
   
   Patch below applies to both 2.4.25 and 2.6.3, and replaces the public
   domain statement and non-warranty with the GPL, as is permitted by the code
   being in the public domain, and is done with legal advice.

<akpm@osdl.org>
   [PATCH] Add C99 initializers to arch/i386/pci/fixup.c
   
   From: "Art Haas" <ahaas@airmail.net>
   
   Here's a small patch that adds C99 initializers to the file.

<akpm@osdl.org>
   [PATCH] mark ftape un-removable
   
   From: Christoph Hellwig <hch@lst.de>
   
   I've just grepped over the tree for reamining MOD_INC_USE_COUNT users, and
   ftape is a really horrible one, it relies on MOD_{INC,DEV}_USE_COUNT in the
   most horrible places + it's own bookkepping and the <= 2.4 may unload
   hooks.  And although I don't have the hardware I can guarantee it doesn't
   work as expected.
   
   So let's just remove the module_exit handler and mark it unremovable, if
   someone wants to fix up ftape later it's fine with me, but it's a really
   scary driver..

<akpm@osdl.org>
   [PATCH] aio sysctl parms
   
   From: Janet Morgan <janetmor@us.ibm.com>
   
   It looks like aio_nr and aio_max_nr were intended to be sysctl parameters.

<brking@us.ibm.com>
   [PATCH] SCSI: Make retries obey host_self_blocked flag
   
   The following patch against 2.6.2 will prevent the midlayer from
   issuing retries if host_self_blocked is set. This was raised as an
   issue here:
   
   http://marc.theaimsgroup.com/?l=linux-scsi&m=107357742430401&w=2

<hch@lst.de>
   [PATCH] Remove CONFIG_SCSI_DC390T_NOGENSUPP
   
   Now that the Am53C974 driver is gone it doesn't make sense to not
   support all Am53C974-based cards, and the amount of code under the ifdef
   is tiny anyways.

<hch@lst.de>
   [PATCH] fix up ini9100 interrupt handling
   
   Currently is has a different irq handler for every "supported" chip.
   Make use of the private data passed to request_irq instead.

<hch@lst.de>
   [PATCH] fix up NCR5380 private data
   
   Use the private data passed to request_irq instead of looping over all
   controllers.  The patch was ACKed by Alan a while ago.
   
   Note that the patch only looks so huge because of the two leves of
   indentation removed by the tiny chage.

<andrew.vasquez@qlogic.com>
   [PATCH] qla2xxx -- Properly schedule mailbox command timeouts.
   
   For mailbox commands which the firmware internally times-out in
   2 * R_A_TOV, the driver should timeout no sooner than 2.5 * R_A_TOV so
   we do not inappropriately schedule an ISP abort.

<andrew.vasquez@qlogic.com>
   [PATCH] qla2xxx -- FCP_RSP IU check during command completion.
   
   While processing command completions in qla2x00_status_entry()
   interrogate the FCP_RSP IU in case of any FCP protocol errors (FCP-3,
   9.4.11) during command execution.  If there were any failures, schedule
   a retry of the command via DID_BUS_BUSY.
   
   [Corrected patch attached.  Thanks to RA for pointing this out.]

<hch@lst.de>
   [PATCH] move remaining definitions from drivers/scsi/scsi.h to include/scsi
   
   Simple move for a bunch of definitions so driver can finally stop doing
   the -Idriver/scsi mess.  I'd like to get it out ASAP because the distros
   are going to branch their first 2.6 releases soon and the vendors will
   want to support those basically forever.

<patmans@us.ibm.com>
   [PATCH] have CONFIG_SCSI_PROC_FS depend on CONFIG_PROC_FS
   
   Patch against recent 2.6: have CONFIG_SCSI_PROC_FS depend on
   CONFIG_PROC_FS, as configuring CONFIG_SCSI_PROC_FS without
   CONFIG_PROC_FS prevents scsi core from initializing.

<gerg@snapgear.com>
   [PATCH] fix memory leaks in binfmt_flat loader
   
   Fix a number of memory leaks in the uClinux binfmt_flat loader.  All are
   related to not cleaning up properly on failure conditions.

<gerg@snapgear.com>
   [PATCH] allow configuration for shared flat binary support
   
   This adds the configuration option to enable the uClinux shared flat
   binary support.  The code support is already in the binfmt_load code,
   just the config option is missing.

<gerg@snapgear.com>
   [PATCH] add m68k elf relocation types to elf.h
   
   Added ELF relocation type defines.  These are needed by the module
   loading code for m68knommu.

<gerg@snapgear.com>
   [PATCH] fixes to ColdFire/5407 startup code
   
   Correct the cache setup bits for the 5407. This enables the write
   buffers properly (despite what the previous comment said). This
   combined with fixed cache flushing code provides a nice performance
   boost on the 5407.
   
   Also fix the ROMfs setup to only move the ROMfs region if it is actually
   configured.

<linux@de.rmk.(none2)>
   [ARM] URL change for linux-on-laptops
   
   Patch from: Sebastian Henschel
   
   Attached is a cosmetic patch for arch/arm/Kconfig which updates the
   URL for Kenneth's page and introduces the URL of tuxmobil.org.

<bcollins@debian.org>
   IEEE1394/SBP2(r1139): Some cleanups, and a better, more unique id for ieee1394_id attribute.

<bcollins@debian.org>
   IEEE1394(r1140): Add a bus rescan bus_attr file, and an ignore_driver attr for ud's

<akpm@osdl.org>
   [PATCH] ramdisk cleanup
   
   Fairly pointless coding-style cleanups which I've been sitting on for ages.
   The ramdisk driver is still buggy: it drops pagecache when unmounted.  I
   still need to fix this.
   
   Apparently it also displays data corruption under load even when not
   unmounted.

<akpm@osdl.org>
   [PATCH] slab: print slab name in kmem_cache_init()
   
   Print the name of the offending slab if we're going to go BUG in
   kmem_cache_init().

<akpm@osdl.org>
   [PATCH] prevent ptrace from altering page permissions
   
   From: Roland McGrath <roland@redhat.com>
   
   Under some circumstances, ptrace PEEK/POKE_TEXT can cause page permissions
   to be permanently changed.  Thsi causes changes in application behaviour
   when run under gdb.
   
   Fix that by only marking the pte as writeable if the vma is marked for
   writing.  A write fault thus unshares the page but doesn't necessarily make
   it writeable.

<akpm@osdl.org>
   [PATCH] slab: hexdump for check_poison
   
   From: Manfred Spraul <manfred@colorfullife.com>
   
   The patch is designed improve the diagnostics which are presented when the
   slab memory poison detector triggers.
   
   
   check_poison_obj checks for write accesses after kfree by comparing the
   object contents with the poison value.  The current implementation contains
   several flaws:
   
   - it accepts both POISON_BEFORE and POISON_AFTER.  check_poison_obj is
     only called with POISON_AFTER poison bytes.  Fix: only accept
     POISON_AFTER.
   
   - the output is unreadable.  Fix: use hexdump.
   
   - if a large objects is corrupted, then the relevant lines can scroll of
     the screen/dmesg buffer.  Fix: line limit.
   
   - it can access addresses behind the end of the object, which can oops
     with CONFIG_DEBUG_PAGEALLOC.  Fix: bounds checks.
   
   Additionally, the patch contains the following changes:
   
   - rename POISON_BEFORE and POISON_AFTER to POISON_FREE and POISON_INUSE.
     The old names are ambiguous.
   
   - use the new hexdump object function in ptrinfo.
   
   - store_stackinfo was called with wrong parameters: it should store
     caller, i.e.  __builtin_return_address(0), not POISON_AFTER in the
     object.
   
   - dump both the object before and after the corrupted one, not just the
     one after.
   
   Example output:
   <<<
   Slab corruption: start=194e708c, len=2048
   Redzone: 0x5a2cf071/0x5a2cf071.
   Last user: [<02399d7c>](dummy_init_module+0x1c/0xb0)
   010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 7b
   030: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 63
   Prev obj: start=194e6880, len=2048
   Redzone: 0x5a2cf071/0x5a2cf071.
   Last user: [<00000000>](0x0)
   000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
   010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b
   <<<

<akpm@osdl.org>
   [PATCH] page_add_rmap(): remove meaningless test
   
   Remove page validity test.  I had a warning in there for a few weeks, no
   reports of it happening.

<akpm@osdl.org>
   [PATCH] Add CONFIG for -mregparm=3
   
   From: Andi Kleen <ak@muc.de>, me.
   
   Using -mregparm=3 shrinks the kernel further:
   
   (compiled with gcc 3.4, without -funit-at-a-time, using the later and
   together with -Os shrinks .text even more, making over 700KB difference)
   
   4129346  708629  207240 5045215  4cfbdf vmlinux
   3892905  708629  207240 4808774  496046 vmlinux-regparm
   
   This one helps even more, >236KB .text difference. Clearly worth
   the effort.
   
   This patch adds an option to use -mregparm=3 while compiling the kernel.  I
   did an LTP run and it showed no additional failures over an non regparm
   kernel.
   
   According to some gcc developers it should be safe to use in all gccs that
   are still supports (2.95 and up)
   
   I didn't make it the default because it will break all binary only modules
   (although they can be fixed by adding a wrapper that calls them with
   "asmlinkage").  Actually it may be a good idea to make this default with
   2.7.1 or somesuch.
   
   We add new kbuild infrastructure: the command
   
      scripts/gcc-version.sh $(CC)
   
   will print out the version of gcc in a canonical 4-digit form suitable for
   performing numerical tests against.
   DESC
   arch/i386/Makefile,scripts/gcc-version.sh,Makefile small fixes
   EDESC
   From: Serge Belyshev <33554432@mtu-net.ru>
   
   arch/i386/Makefile:
   *  omitted $(KBUILD_SRC)/ in script call.
   
   scripts/gcc-version.sh:
   *  GNU tail no longer supports 'tail -1' syntax.
   
   We should consider adding -fweb option:
   
      vanilla:
      $ size vmlinux
         text    data     bss     dec     hex filename
      3056270  526780  386056 3969106  3c9052 vmlinux
   
      with -fweb:
      $ size vmlinux
         text    data     bss     dec     hex filename
      3049523  526780  386056 3962359  3c75f7 vmlinux
   
      Also note 0.1 ... 1.0% speedup in various benchmarks.
      This option is not enabled by default at -O2 because it
      (like -fomit-frame-pointer) makes debugging impossible.

<akpm@osdl.org>
   [PATCH] Use -funit-at-a-time on ia32
   
   From: Andi Kleen <ak@muc.de>
   
   The upcomming gcc 3.4 has a new compilation mode called unit-at-a-time.
   What it does is to first load the whole file into memory and then generate
   the output. This allows it to use a better inlining strategy, drop unused
   static functions and use -mregparm automatically for static functions.
   
   It does not seem to compile significantly slower.
   
   This is also available in some of the 3.3 based "hammer branch"
   compilers used in distributions (at least in SuSE and Mandrake)
   
   Some tests show impressive .text shrinkage from unit-at-a-time.
   
   e.g. here is the same kernel compiled with -fno-unit-at-a-time and
   -funit-at-a-time with a gcc 3.4 snapshot. The gains are really
   impressive:
   
      text    data     bss     dec     hex filename
   4129346  708629  207240 5045215  4cfbdf vmlinux-nounitatatime
   3999250  674853  207208 4881311  4a7b9f vmlinux-unitatatime
   
   .text shrinks by over 130KB!. And .data shrinks too.
   
   At first look the numbers look nearly too good to be true, but they have been
   verified with several configurations and seem to be real. It looks like
   we have a lot of stupid inlines or dead functions. I'm really not
   sure why it is that much better. But it's hard to argue with hard
   numbers.
   
   [A bloat-o-meter comparision between the two vmlinuxes can be found in
   http://www.firstfloor.org/~andi/unit-vs-no-unit.gz . It doesn't show
   any obvious candidates unfortunately, just lots of small changes]
   
   With the gcc 3.3-hammer from SuSE 9.0 the gains are a bit smaller, but
   still noticeable (>100KB on .text)
   
   This patch enables -funit-at-a-time on ia32 if the compiler is gcc-3.4 or
   later.  We had several reports of gcc-3.3 producing very early lockups.

<akpm@osdl.org>
   [PATCH] Add noinline attribute
   
   From: Andi Kleen <ak@muc.de>
   
   This patch adds the `noinline' function attribute.  It can be used to
   explicitly tell the compiler to not inline functions.
   
   We need this due to what is, IMO, a bug present in gcc-3.4 and current
   gcc-3.5 CVS: the compiler is inlining init/main.c:rest_init() inside
   init/main.c:start_kernel(), despite the fact that thay are declared to be
   placed in different text sections.

<akpm@osdl.org>
   [PATCH] use noinline for rest_init()
   
   gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to
   crash when the .text.init section gets unloaded.  Use noinline to prevent
   that.

<akpm@osdl.org>
   [PATCH] gcc-3.5: bonding
   
   drivers/net/bonding/bond_alb.c: In function `bond_alb_xmit':
   drivers/net/bonding/bond_alb.c:1188: error: invalid lvalue in assignment

<akpm@osdl.org>
   [PATCH] fix access() POSIX compliance
   
   From: Andreas Gruenbacher <agruen@suse.de>
   
   The fix for permission() that makes it compliant with POSIX.1-2001
   apparently was lost.  Here is the patch I sent before.  (The relevant lines
   from the standard text are cited in
   http://www.ussg.iu.edu/hypermail/linux/kernel/0310.2/0286.html.  The fix
   proposed in that posting did not handle directories without execute
   permissions correctly.)
   
   
   Make permission check conform to POSIX.1-2001
   
   The access(2) function does not conform to POSIX.1-2001: For root
   and a file with no permissions, access(file, MAY_READ|MAY_EXEC)
   returns 0 (it should return -1).

<akpm@osdl.org>
   [PATCH] fix pfn_valid on ia32 discontigmem
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   Fix pfn_valid for architctures with discontiguous memory.  This only
   changes the NUMA definition, and it leaves the NUMA-Q definition as was,
   because it's faster that way, it's in hotpaths, and our memory is always
   contiguous.

<akpm@osdl.org>
   [PATCH] ia32: pfn_to_nid fix
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   Makes sure pfn_to_nid is defined for all combinations of subarches, and that
   it's defined before it's used so we don't run into implicit declaration
   problems.

<akpm@osdl.org>
   [PATCH] ia32: disallow NUMA on PC subarch
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   Disallow NUMA on the i386 PC subarch (it doesn't work, nor was it intended
   to).

<akpm@osdl.org>
   [PATCH] config option for irqbalance
   
   From: "Martin J. Bligh" <mbligh@aracnet.com>
   
   Make irqbalance into a config option - some people (jgarzik, arjan, etc)
   wanted to be able to disable it and do things from userspace instead.  This
   patch allows each camp to do their own thing, which seems fair ;-)

<akpm@osdl.org>
   [PATCH] print some x86 build options during oopses
   
   I find this handy sometimes: it makes the oops output include info as to
   whether the user has selected CONFIG_PREEMPT, CONFIG_SMP or, particularly,
   CONFIG_DEBUG_PAGEALLOC.  It can save one email round-trip.

<akpm@osdl.org>
   [PATCH] show_task() fix and cleanup
   
   show_task() is preinting negative numbers for free stack due to arithmetic
   against the wrong pointer.
   
   Fix that up, and clean up a few related things.
   
   show_task still has bogus code which atempts to work out how much stack the
   task has ever used - it cannot work because we don't actually zero out the
   stack pages when allocating them.  We should fix that, or take it out.

<akpm@osdl.org>
   [PATCH] show_task() is not SMP safe
   
   From: Arnd Bergmann <arnd@arndb.de>
   
   Christian Bornträger noticed that the kernel can crash after <SysRq>-T.  It
   appears that the show_task function gets called for all tasks, which does
   not work if one of the tasks is running in a system call on another CPU.
   In that case the result of thread_saved_pc and show_stack is undefined and
   likely to cause a crash.
   
   For tasks running in user space on other CPUs, show_task() is probably
   harmless, but I'm not sure if that's true on all architectures.
   
   The patch below is still racy for tasks that are about to sleep, but it
   demonstrates the problem.

<bcollins@debian.org>
   IEEE1394(r1141): Add an "ignore_drivers" global default.

<pfg@sgi.com>
   [PATCH] ia64: on SN2, use the pda to count interrupts
   

<pfg@sgi.com>
   [PATCH] ia64: on SN2, skip init_platform_hubinfo() if on the simulator
   

<mort@sgi.com>
   [PATCH] ia64: SN2 header file cleanups
   
   Here is a patch to clean up some of the Altix header files and includes.
   
   I've run the patch past the appropriate people at SGI and they seem happy
   with the changes.

<mort@sgi.com>
   [PATCH] ia64: clean up SN2 setup.c
   
   Cleanup the SN setup.c file.  Add __init and static to functions where
   required.

<pfg@sgi.com>
   [PATCH] ia64: cleanup SN2 pci_bus_cvlink.c
   
   I incorporated (at least in spirit I hope) hch's suggestions on the fixup code
   put in some kfrees that I was missing and static for sn_alloc_pci_sysdata
   (thanks Bartlomiej Zolnierkiewicz).  White space clean up.

<bcollins@debian.org>
   IEEE1394(r1142): Use a kernel thread to rescan devices so we don't block the writer.

<davidm@tiger.hpl.hp.com>
   ia64: Back-port from libunwind: fix off-by-one error in kernel-unwinder.
   
   There are no known failures due to this bug, but it's clearly a bug and
   given the right compiler, it could trigger and lead to bad stack traces etc.
   

<rddunlap@osdl.org>
   [PATCH] sys_device_[un]register() are not syscalls
   
   sys_xyz() names in Linux are all syscalls... except for
   sys_device_register() and sys_device_unregister().
   
   This patch renames them so that the sys_ namespace is once
   again used only by syscalls.

<stern@rowland.harvard.edu>
   [PATCH] USB: Another unusual_devs.h update
   
   On Thu, 19 Feb 2004, Agustin De Igartua wrote:
   
   > Initializing USB Mass Storage driver...
   > usb-storage: This device (04e6,0002,0100 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h
   >    Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>scsi0 : SCSI emulation for USB Mass St+
orage devices
   
   Thank y