24 Mar, 2006

40 commits

  • The meaning of MS_VERBOSE is backwards; if the bit is set, it really means,
    "don't be verbose". This is confusing and counter-intuitive.

    In addition, there is also no way to set the MS_VERBOSE flag in the
    mount(8) program in util-linux, but interesting, it does define options
    which would do the right thing if MS_SILENT were defined, which
    unfortunately we do not:

    #ifdef MS_SILENT
    { "quiet", 0, 0, MS_SILENT }, /* be quiet */
    { "loud", 0, 1, MS_SILENT }, /* print out messages. */
    #endif

    So the obvious fix is to deprecate the use of MS_VERBOSE and replace it
    with MS_SILENT.

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Theodore Ts'o
     
  • All architecture independent system calls should be declared
    in syscalls.h, add the one that is missing.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • I screwed up this conversion - we should be iterating across online CPUs, not
    possible ones.

    Spotted by Joe Perches

    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • This patch removes old-style kernel thread initialization
    and changes w1 to use kthread api.
    It is based on Christoph Hellwig work.

    Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov
     
  • You don't know what type a u64 is, hence you cannot print it without a cast.

    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Andrew Morton
     
  • The w1 netlink socket is created by a hardware specific driver calling
    w1_add_master_device, so there is no point in including a module alias
    for netlink autoloading in the core.

    Signed-off-by: Patrick McHardy
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Patrick McHardy
     
  • W1_DS9490 was renamed to W1_MASTER_DS9490, but the entry in the
    dependencies of W1_MASTER_DS9490_BRIDGE was forgotten.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • This patch contains the following cleanups:
    - make needlessly global code static
    - declarations for global code belong into header files
    - w1.c: #if 0 the unused struct w1_slave_device

    Signed-off-by: Adrian Bunk
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • Signed-off-by: Ben Gardner
    Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov
     
  • Signed-off-by: Ben Gardner
    Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov
     
  • Signed-off-by: Ben Gardner
    Signed-off-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Evgeniy Polyakov
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6:
    NTFS: 2.1.27 - Various bug fixes and cleanups.
    NTFS: Semaphore to mutex conversion.
    NTFS: Handle the recently introduced -ENAMETOOLONG return value from
    NTFS: Add a missing call to flush_dcache_mft_record_page() in
    NTFS: Fix a bug in fs/ntfs/inode.c::ntfs_read_locked_index_inode() where we
    NTFS: Improve comments on file attribute flags in fs/ntfs/layout.h.
    NTFS: Limit name length in fs/ntfs/unistr.c::ntfs_nlstoucs() to maximum
    NTFS: Remove all the make_bad_inode() calls. This should only be called
    NTFS: Add support for sparse files which have a compression unit of 0.
    NTFS: Fix comparison of $MFT and $MFTMirr to not bail out when there are
    NTFS: Use buffer_migrate_page() for the ->migratepage function of all ntfs
    NTFS: Fix a buggette in an "should be impossible" case handling where we
    NTFS: Fix an (innocent) off-by-one error in the runlist code.
    NTFS: Fix two compiler warnings on Alpha. Thanks to Andrew Morton for

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (45 commits)
    [PATCH] Restore channel setting after scan.
    [PATCH] hostap: Fix memory leak on PCI probe error path
    [PATCH] hostap: Remove dead code (duplicated idx != 0)
    [PATCH] hostap: Fix unlikely read overrun in CIS parsing
    [PATCH] hostap: Fix double free in prism2_config() error path
    [PATCH] hostap: Fix ap_add_sta() return value verification
    [PATCH] hostap: Fix hw reset after CMDCODE_ACCESS_WRITE timeout
    [PATCH] wireless/airo: cache wireless scans
    [PATCH] wireless/airo: define default MTU
    [PATCH] wireless/airo: clean up printk usage to print device name
    [PATCH] WE-20 for kernel 2.6.16
    [PATCH] softmac: remove function_enter()
    [PATCH] skge: version 1.5
    [PATCH] skge: compute available ring buffers
    [PATCH] skge: dont free skb until multi-part transmit complete
    [PATCH] skge: multicast statistics fix
    [PATCH] skge: rx_reuse called twice
    [PATCH] skge: dont use dev_alloc_skb for rx buffs
    [PATCH] skge: align receive buffers
    [PATCH] sky2: dont need to use dev_kfree_skb_any
    ...

    Linus Torvalds
     
  • * 'blktrace' of git://brick.kernel.dk/data/git/linux-2.6-block:
    [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23
    [PATCH] relay: consolidate sendfile() and read() code
    [PATCH] relay: add sendfile() support
    [PATCH] relay: migrate from relayfs to a generic relay API

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (3568k): zoran: Use i2c_master_send when possible
    V4L/DVB (3568j): adv7175: Drop unused encoder dump command
    V4L/DVB (3568i): adv7175: Drop unused register cache
    V4L/DVB (3568h): cpia: correct email address
    V4L/DVB (3568g): sem2mutex: zoran
    V4L/DVB (3568f): saa7110: Fix array overrun
    V4L/DVB (3568e): bt856: Spare memory
    V4L/DVB (3568d): saa7111.c fix
    V4L/DVB (3568c): zoran: Init cleanups
    V4L/DVB (3568b): saa7111: Prevent array overrun
    V4L/DVB (3568a): saa7114: Fix i2c block write

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6: (36 commits)
    [PATCH] hwmon: add required idr locking
    [PATCH] I2C: hwmon: Rename register parameters
    [PATCH] I2C: Drop unneeded i2c-dev.h includes
    [PATCH] I2C: i2c-ixp4xx: Add hwmon class
    [PATCH] I2C: i2c-piix4: Add Broadcom HT-1000 support
    [PATCH] I2C: i2c-amd756-s4882: Improve static mutex initialization
    [PATCH] I2C: i2c-ali1535: Drop redundant mutex
    [PATCH] i2c: Cleanup isp1301_omap
    [PATCH] i2c: Fix i2c-ite name initialization
    [PATCH] i2c: Drop the i2c-frodo bus driver
    [PATCH] i2c: Optimize core_lists mutex usage
    [PATCH] w83781d: Don't reset the chip by default
    [PATCH] w83781d: Document the alarm and beep bits
    [PATCH] w83627ehf: Refactor the sysfs interface
    [PATCH] hwmon: Support the Pentium M VID code
    [PATCH] hwmon: Add support for the Winbond W83687THF
    [PATCH] hwmon: f71805f semaphore to mutex conversions
    [PATCH] hwmon: Semaphore to mutex conversions
    [PATCH] i2c: Semaphore to mutex conversions, part 3
    [PATCH] i2c: Semaphore to mutex conversions, part 2
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (49 commits)
    [PATCH] acpiphp: fix acpi_path_name
    [PATCH] ibmphp: remove TRUE and FALSE
    [PATCH] PCI Hotplug: add common acpi functions to core
    [PATCH] PCI: kzalloc() conversion in drivers/pci
    [PATCH] acpiphp: Scan slots under the nested P2P bridge
    [PATCH] PCI Hotplug: SN: Fix cleanup on hotplug removal of PPB
    [PATCH] shpchp: cleanup bus speed handling
    [PATCH] PCI: fix pci_request_region[s] arg
    [PATCH] PCI: Provide a boot parameter to disable MSI
    [PATCH] PCI: the scheduled removal of PCI_LEGACY_PROC
    [PATCH] PCI: cpqphp_ctrl.c: board_replaced(): remove dead code
    [PATCH] acpiphp: fix bridge handle
    [PATCH] acpiphp - slot management fix - V4
    [PATCH] acpi: remove dock event handling from ibm_acpi
    [PATCH] acpiphp: add dock event handling
    [PATCH] acpi: export acpi_bus_trim
    [PATCH] acpiphp: add new bus to acpi
    [PATCH] PCI: Move pci_dev_put outside a spinlock
    [PATCH] PCI: PCI/Cardbus cards hidden, needs pci=assign-busses to fix
    [PATCH] PCI: fix problems with MSI-X on ia64
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [TG3]: Update driver version and reldate.
    [TG3]: Add 5755 nvram support
    [TG3]: Add 5755 support
    [IPV6]: ip6_xmit: remove unnecessary NULL ptr check
    [NET_SCHED]: cls_u32: remove unnecessary NULL-ptr check
    [IPV4]: Add fib rule netlink notifications
    [BNX2]: Update version and reldate
    [BNX2]: Separate tx producer and consumer fields
    [BNX2]: Move .h files to bnx2.c
    [BNX2]: Combine small mem allocations
    [BNX2]: Fix link change handling
    [PKTGEN]: Add MPLS extension.

    Linus Torvalds
     
  • * git://oss.sgi.com:8090/oss/git/xfs-2.6: (71 commits)
    [XFS] Sync up one/two other minor changes missed in previous merges.
    [XFS] Reenable the noikeep (delete inode cluster space) option by default.
    [XFS] Check that a page has dirty buffers before finding it acceptable for
    [XFS] Fixup naming inconsistencies found by Pekka Enberg and one from Jan
    [XFS] Explain the race closed by the addition of vn_iowait() to the start
    [XFS] Fixing the error caused by the conflict between DIO Write's
    [XFS] Fixing KDB's xrwtrc command, also added the current process id into
    [XFS] Fix compiler warning from xfs_file_compat_invis_ioctl prototype.
    [XFS] remove bogus INT_GET for u8 variables in xfs_dir_leaf.c
    [XFS] endianess annotations for xfs_da_node_hdr_t
    [XFS] endianess annotations for xfs_da_node_entry_t
    [XFS] store xfs_attr_inactive_list_t in native endian
    [XFS] store xfs_attr_sf_sort in native endian
    [XFS] endianess annotations for xfs_attr_shortform_t
    [XFS] endianess annotations for xfs_attr_leaf_name_remote_t
    [XFS] endianess annotations for xfs_attr_leaf_name_local_t
    [XFS] endianess annotations for xfs_attr_leaf_entry_t
    [XFS] endianess annotations for xfs_attr_leaf_hdr_t
    [XFS] remove bogus INT_GET on u8 variables in xfs_dir2_block.c
    [XFS] endianess annotations for xfs_da_blkinfo_t
    ...

    Linus Torvalds
     
  • I encountered the problem that the insmod of the acpiphp
    fails because of the mis-freeing of the memory.

    I tested this patch on my tiger4 box.

    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Greg Kroah-Hartman

    MUNEDA Takahiro
     
  • This patch removes the defines TRUE and FALSE and just uses 0 or 1.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • shpchprm_acpi.c and pciehprm_acpi.c are nearly identical. In addition,
    there are functions in both these files that are also in acpiphp_glue.c.
    This patch will remove duplicate functions from shpchp, pciehp, and
    acpiphp and move this functionality to pci_hotplug, as it is not
    hardware specific. Get rid of shpchprm* and pciehprm* files since they
    are no longer needed. shpchprm_nonacpi.c and pciehprm_nonacpi.c are
    identical, as well as shpchprm_legacy.c and can be replaced with a
    macro.

    This patch also changes acpiphp to use the common hpp code.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • this patch converts drivers/pci to kzalloc usage.
    Compile tested with allyes config.

    Signed-off-by: Eric Sesterhenn
    Signed-off-by: Greg Kroah-Hartman

    Eric Sesterhenn
     
  • Current ACPIPHP driver scans only slots under the top level PCI-to-PCI
    bridge. So hotplug PCI slots under the nested PCI-to-PCI bridge would
    not be detected. For example, if the system has the ACPI namespace
    like below, hotplug slots woule not be detected.

    Device (PCI0) { /* Root bridge */
    Name (_HID, "PNP0A03")
    Device (P2PA) { /* PCI-to-PCI bridge */
    Name (_ADR, ...)
    Device (P2PB) { /* PCI-to-PCI bridge */
    Name (_ADR, ...)
    Device (S0F0) { /* hotplug slot */
    Name (_ADR, ...)
    Name (_SUN, ...)
    Method (_EJ0, ...) { ... }
    }
    ...
    Device (S0F7) { /* hotplug slot */
    Name (_ADR, ...)
    Name (_SUN, ...)
    Method (_EJ0, ...) { ... }
    }
    Device (S1F0) { /* hotplug slot */
    Name (_ADR, ...)
    Name (_SUN, ...)
    Method (_EJ0, ...) { ... }
    }
    ...
    }
    }
    }

    This patch fixes this issue.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Greg Kroah-Hartman

    Kenji Kaneshige
     
  • When doing a hotplug removal of a PPB, sn_bus_store_sysdata()
    needs to be called for the PPB and all of its children.

    Acked-by: Prarit Bhargava
    Signed-off-by: John Keller
    Signed-off-by: Greg Kroah-Hartman

    John Keller
     
  • The code related to handling bus speed in SHPCHP driver is
    unnecessarily complex. This patch cleans up and simplify that.

    Signed-off-by: Kenji Kaneshige
    Signed-off-by: Greg Kroah-Hartman

    Kenji Kaneshige
     
  • Add missing 'const' to pci_request_region[s] 'res_name' arg,
    since we pass it directly to __request_region(), whose 'name' arg
    is also const.

    Signed-off-by: Greg Kroah-Hartman

    Jeff Garzik
     
  • Several drivers are starting to grow options to disable MSI. However,
    it's often a host chipset issue, not something which individual drivers
    should handle. So we add the pci=nomsi kernel parameter to allow the user
    to disable MSI modes for systems we haven't added to the quirk list yet.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Randy Dunlap
    Acked-by: Jeff Garzik
    Signed-off-by: Greg Kroah-Hartman

    Matthew Wilcox
     
  • This patch contains the scheduled removal of PCI_LEGACY_PROC.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • The Coverity checker correctly noted, that in function board_replaced in
    drivers/pci/hotplug/cpqphp_ctrl.c, the variable src always has the
    value 8, and therefore much code after the

    ...
    if (rc || src) {
    ...
    if (rc)
    return rc;
    else
    return 1;
    }
    ...

    can never be called.

    This patch removes the unreachable code in this function fixing kernel
    Bugzilla #6073.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Greg Kroah-Hartman

    Adrian Bunk
     
  • When hotplug slot is under the host bridge,
    DEVICE_ACPI_HANDLE(&bus->self->dev) fails since '&bus->self' was not set.
    This patch fixes it.

    This patch is based on kristen's latest patches.
    I tested this patch on my Tiger4.

    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Greg Kroah-Hartman

    MUNEDA Takahiro
     
  • o This patch removes IDs (for slots management).
    o This patch removes the slot register/unregister processes
    from the init/exit phases. Instead, adds these processes
    in the bridge add/cleanup phases.
    o Currently, this change doesn't have any meanings. But
    these changes are needed to support p2p bridge(with
    hotplug slot)

    Signed-off-by: MUNEDA Takahiro
    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    MUNEDA Takahiro
     
  • Remove dock station support from ibm_acpi by default. This support has
    been put into acpiphp instead. Allow ibm_acpi to continue to provide
    docking station support via config option for laptops/docking stations
    that are not supported by acpiphp.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • These patches add generic dock event handling to acpiphp. If there are
    pci devices that need to be inserted/removed after the dock event, the
    event notification will be handed down to the normal pci hotplug event
    handler in acpiphp so that new bridges/devices can be enumerated.

    Because some dock stations do not have pci bridges or pci devices that
    need to be inserted after a dock, acpiphp will remain loaded to handle
    dock events even if no hotpluggable pci slots are discovered.

    You probably need to have the pci=assign-busses kernel parameter enabled
    to use these patches, and you may not allow ibm_acpi to handle docking
    notifications and use this patch.

    This patch incorporates feedback provided by many.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • Export the acpi_bus_trim function so that the pci hotplug driver can
    use it.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • If we add a new bridge with subordinate busses, we should call make sure
    that acpi is notified so that the PRT (if present) can be read and drivers
    who have registered on this bus will be notified when it is started.
    Also make sure to use the max reserved bus number for the starting the bus
    scan.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Greg Kroah-Hartman

    Kristen Accardi
     
  • This patch (as659) fixes a might_sleep problem in the PCI core, by moving
    a call to pci_dev_put() outside the scope of a spinlock.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • "In some cases, especially on modern laptops with a lot of PCI and cardbus
    bridges, we're unable to assign correct secondary/subordinate bus numbers
    to all cardbus bridges due to BIOS limitations unless we are using
    "pci=assign-busses" boot option." -- Ivan Kokshaysky (from a patch comment)

    Without it, Cardbus cards inserted are never seen by PCI because the parent
    PCI-PCI Bridge of the Cardbus bridge will not pass and translate Type 1 PCI
    configuration cycles correctly and the system will fail to find and
    initialise the PCI devices in the system.

    Reference: PCI-PCI Bridges: PCI Configuration Cycles and PCI Bus Numbering:
    http://www.science.unitn.it/~fiorella/guidelinux/tlk/node72.html

    The reason for this is that:
    ``All PCI busses located behind a PCI-PCI bridge must reside between the
    secondary bus number and the subordinate bus number (inclusive).''

    "pci=assign-busses" makes pcibios_assign_all_busses return 1 and this
    turns on PCI renumbering during PCI probing.

    Alan suggested to use DMI automatically set assign-busses on problem systems.

    The only question for me was where to put it. I put it directly before
    scanning PCI bus into pcibios_scan_root() because it's called from legacy,
    acpi and numa and so it can be one place for all systems and configurations
    which may need it.

    AMD64 Laptops are also affected and fixed by assign-busses, and the code is
    also incuded from arch/x86_64/pci/ that place will also work for x86_64
    kernels, I only ifdef'-ed the x86-only Laptop in this example.

    Affected and known or assumed to be fixed with it are (found by googling):

    * ASUS Z71V and L3s
    * Samsung X20
    * Compaq R3140us and all Compaq R3000 series laptops with TI1620 Controller,
    also Compaq R4000 series (from a kernel.org bugreport)
    * HP zv5000z (AMD64 3700+, known that fixup_parent_subordinate_busnr fixes it)
    * HP zv5200z
    * IBM ThinkPad 240
    * An IBM ThinkPad (1.8 GHz Pentium M) debugged by Pavel Machek
    gives the correspondig message which detects the possible problem.
    * MSI S260 / Medion SIM 2100 MD 95600

    The patch also expands the "try pci=assign-busses" warning so testers will
    help us to update the DMI table.

    Cc: Ivan Kokshaysky
    Cc: Alan Cox
    Cc: Dominik Brodowski
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Bernhard Kaindl
     
  • Use "unsigned long" when dealing with PCI resources.
    The BAR Indicator Register (BIR) can be a 64-bit value
    or the resource could be a 64-bit host physical address.

    Enables ib_mthca and cciss drivers to use MSI-X on ia64 HW.
    Problem showed up now because of new system firmware on one platform.
    Symptom will either be memory corruption or MCA.

    Second part of this patch deals with "useless" code.
    We walk through the steps to find the phys_addr and then
    don't use the result. I suspect the intent was to zero
    out the respective MSI-X entry but I'm not sure at the moment.
    Delete the code inside the #if 0/#endif if it's really
    not needed.

    Signed-off-by: Grant Grundler
    Signed-off-by: Greg Kroah-Hartman

    Grant Grundler
     
  • On Tue, 21 Feb 2006, Ivan Kokshaysky wrote:
    > There are two bogus entries in the BIOS memory map table which are
    > conflicting with a prefetchable memory range of the AGP bridge:
    >
    > BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
    > BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
    >
    > 0000:00:02.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP) (prog-if 00 [Normal decode])
    > Flags: bus master, fast devsel, latency 0
    > Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
    > I/O behind bridge: 0000c000-0000cfff
    > Memory behind bridge: e7e00000-e7efffff
    > Prefetchable memory behind bridge: fec00000-ffcfffff
    > ^^^^^^^^^^^^^^^^^

    Yes. However, it's pretty clear that the e820 entries are there for a
    reason. Probably they are a hack by the BIOS maintainers to keep Windows
    from stomping/moving that region, exactly because they want to keep the
    bridge where it is (or, it's actually for the BIOS itself - the BIOS
    tables are a horrid mess, and BIOS engineers are pretty hacky people:
    they'll add random entries to make their own broken algorithms do the
    "right thing").

    > Starting from 2.6.13, kernel tries to resolve that sort of conflicts,
    > so that prefetch window of the bridge and the framebuffer memory behind
    > it get moved to 0x10000000.

    I think we could (and probably should) solve this another way: consider
    the ACPI "reserved regions" from the e820 map exactly the same way that we
    do other ACPI hints - they should restrict _new_ allocations, but not
    impact stuff we figure out on our own.

    Basically, right now we assign _unassigned_ resources at "fs_initcall"
    time. If we were to add in the e820 "reserved region" stuff before that
    (but after we've done PCI discovery), we'd probably do the right thing.

    Right now we do the e820 reserved regions very early indeed: we call
    "register_memory()" from setup_arch(). We could move at least part of it
    (the part that registers the resources) down a bit.

    Here's a test-patch. I'm not saying we should absolutely do this, but it
    might be interesting to try...

    Cc: "Antonino A. Daplas"
    Cc: Ivan Kokshaysky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Linus Torvalds