Skip to content
Commits on Nov 11, 2011
  1. @gregkh

    Linux 3.0.9

    gregkh committed Nov 11, 2011
  2. @torvalds @gregkh

    hid/apple: modern macbook airs use the standard apple function key tr…

    …anslations
    
    commit 21404b7 upstream.
    
    This removes the use of the special "macbookair_fn_keys" keyboard
    translation table for the MacBookAir4,x models (ie the 2011 refresh).
    They use the standard apple_fn_keys[] translation.  Apparently only the
    old MacBook Air's need a different translation table.
    
    This mirrors the change that commit da617c7 ("HID: consolidate
    MacbookAir 4,1 mappings") did for the WELLSPRING6A ones, but does it for
    the WELLSPRING6 model used on the MacBookAir4,2.
    
    Reported-and-tested-by: Dirk Hohndel <hohndel@infradead.org>
    Cc: Jiri Kosina <jkosina@suse.cz>
    Cc: Joshua V Dillon <jvdillon@gmail.com>
    Cc: Chase Douglas <chase.douglas@canonical.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    torvalds committed with gregkh Nov 6, 2011
  3. @gregkh

    HID: consolidate MacbookAir 4,1 mappings

    commit da617c7 upstream.
    
    MacbookAir 4,1 doesn't require extra mapping table, as the mappings
    are identical to apple_fn_keys[].
    
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jiri Kosina committed with gregkh Oct 5, 2011
  4. @akrist @gregkh

    HID: hid-apple: add device ID of another wireless aluminium

    commit ad734bc upstream.
    
    I've recently bought a Apple wireless aluminum keyboard (model 2011) which is
    not yet supported by the kernel - it seems they just changed the device id.
    After applying the attached patch, the device is fully functional.
    
    Signed-off-by: Andreas Krist <andreas.krist@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    akrist committed with gregkh Oct 28, 2011
  5. @gregkh

    HID: Add device IDs for Macbook Pro 8 keyboards

    commit 213f9da upstream.
    
    This patch adds keyboard support for Macbook Pro 8 models which has
    WELLSPRING5A model name and 0x0252, 0x0253 and 0x0254 USB IDs. Trackpad
    support for those models are added to bcm5974 in
    c331eb5 ("Input: bcm5974 - Add
    support for newer MacBookPro8,2).
    
    Signed-off-by: Gökçen Eraslan <gokcen@pardus.org.tr>
    Acked-by: Henrik Rydberg <rydberg@euromail.se>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Cc: Chase Douglas <chase.douglas@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Gökçen Eraslan committed with gregkh Oct 22, 2011
  6. @iwamatsu @gregkh

    HID: Add support MacbookAir 4,1 keyboard

    commit d762cc2 upstream.
    
    Added USB device IDs and keyboard map for MacBookAir 4,1 keyboard.
    
    Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    iwamatsu committed with gregkh Oct 1, 2011
  7. @gregkh

    HID: add MacBookAir4,2 to hid_have_special_driver[]

    commit f6f554f upstream.
    
    Otherwise the generic driver wouldn't unbind from it and wouldn't
    let hid-apple to automatically take over.
    
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jiri Kosina committed with gregkh Aug 10, 2011
  8. @gregkh

    HID: hid-multitouch: Add LG Display Multitouch device.

    commit c50bb1a upstream.
    
    This panel is also known as the Dell ST2220Tc.
    
    Signed-off-by: jeffbrown@android.com
    Reviewed-By: Benjamin Tissoires <Benjamin_Tissoires@logitech.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jeff Brown committed with gregkh Aug 15, 2011
  9. @dfacto82 @gregkh

    HID: add support for MacBookAir4,2 keyboard.

    commit 5d922ba upstream.
    
    Added USB device IDs for MacBookAir4,2 keyboard. Device constants were
    copied from the MacBookAir3,2 constants. The 4,2 device specification is
    reportedly unchanged from the 3,2 predecessor and seems to work well.
    
    Signed-off-by: Joshua V Dillon <jvdillon@gmail.com>
    Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dfacto82 committed with gregkh Aug 5, 2011
  10. @gregkh

    HID: add support for HuiJia USB Gamepad connector

    commit 6d1db07 upstream.
    
    Create each gamepad as a separate joystick
    
    Signed-off-by: Clemens Werther <clemens.werther@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Clemens Werther committed with gregkh Aug 25, 2011
  11. @gregkh

    HID: add support for new revision of Apple aluminum keyboard

    commit 4a4c879 upstream.
    
    Add USB device ids for the new revision (MB110LL/B) of Apple's wired aluminum
    keyboard.  I have only confirmed that the ANSI version is correct - it is
    assumed that the ISO and JIS versions follow the standard numbering convention.
    
    Signed-off-by: Dan Bastone <dan@pwienterprises.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Dan Bastone committed with gregkh Jul 31, 2011
  12. @gregkh

    mtd: nand_base: always initialise oob_poi before writing OOB data

    commit f722013 upstream.
    
    In nand_do_write_ops() code it is possible for a caller to provide
    ops.oobbuf populated and ops.mode == MTD_OOB_AUTO, which currently
    means that the chip->oob_poi buffer isn't initialised to all 0xFF.
    The nand_fill_oob() method then carries out the task of copying
    the provided OOB data to oob_poi, but with MTD_OOB_AUTO it skips
    areas marked as unavailable by the layout struct, including the
    bad block marker bytes.
    
    An example of this causing issues is when the last OOB data read
    was from the start of a bad block where the markers are not 0xFF,
    and the caller wishes to write new OOB data at the beginning of
    another block. In this scenario the caller would provide OOB data,
    but nand_fill_oob() would skip the bad block marker bytes in
    oob_poi before copying the OOB data provided by the caller.
    This means that when the OOB data is written back to NAND,
    the block is inadvertently marked as bad without the caller knowing.
    This has been witnessed when using YAFFS2 where tags are stored
    in the OOB.
    
    To avoid this oob_poi is always initialised to 0xFF to make sure
    no left over data is inadvertently written back to the OOB area.
    
    Credits to Brian Norris <computersforpeace@gmail.com> for fixing this
    patch.
    
    Signed-off-by: Adam Thomson <adam.thomson@alcatel-lucent.com>
    Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    THOMSON, Adam (Adam) committed with gregkh Jun 14, 2011
  13. @gregkh

    ath9k_hw: Fix regression of register offset for AR9003 chips

    commit 52d6d4e upstream.
    
    My recent commits (3782c69, 324c74a) introduced regression
    for register offset selection that based on the macversion.
    Not using parentheses in proper manner for ternary operator
    leads to select wrong offset for the registers.
    
    This issue was observed with AR9462 chip that immediate disconnect
    after the association with the following message
    
    ieee80211 phy3: wlan0: Failed to send nullfunc to AP 00:23:69:12:ea:47
    after 500ms, disconnecting.
    
    Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Rajkumar Manoharan committed with gregkh Oct 20, 2011
  14. @richardcochran @gregkh

    dp83640: use proper function to free transmit time stamping packets

    commit f5ff7cd upstream.
    
    The previous commit enforces a new rule for handling the cloned packets
    for transmit time stamping. These packets must not be freed using any other
    function than skb_complete_tx_timestamp. This commit fixes the one and only
    driver using this API.
    
    The driver first appeared in v3.0.
    
    Signed-off-by: Richard Cochran <richard.cochran@omicron.at>
    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    richardcochran committed with gregkh Oct 21, 2011
  15. @herbertx @gregkh

    crypto: cryptd - Use subsys_initcall to prevent races with aesni

    commit b2bac6a upstream.
    
    As cryptd is depeneded on by other algorithms such as aesni-intel,
    it needs to be registered before them.  When everything is built
    as modules, this occurs naturally.  However, for this to work when
    they are built-in, we need to use subsys_initcall in cryptd.
    
    Tested-by: Josh Boyer <jwboyer@redhat.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: Kerin Millar <kerframil@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    herbertx committed with gregkh Aug 19, 2011
  16. @gregkh

    PM / Suspend: Off by one in pm_suspend()

    commit 528f7ce upstream.
    
    In enter_state() we use "state" as an offset for the pm_states[]
    array.  The pm_states[] array only has PM_SUSPEND_MAX elements so
    this test is off by one.
    
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Dan Carpenter committed with gregkh Sep 21, 2011
  17. @dpward @gregkh

    net: Handle different key sizes between address families in flow cache

    commit aa1c366 upstream.
    
    With the conversion of struct flowi to a union of AF-specific structs, some
    operations on the flow cache need to account for the exact size of the key.
    
    Signed-off-by: David Ward <david.ward@ll.mit.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Kim Phillips <kim.phillips@freescale.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dpward committed with gregkh Sep 5, 2011
  18. @dpward @gregkh

    net: Align AF-specific flowi structs to long

    commit 728871b upstream.
    
    AF-specific flowi structs are now passed to flow_key_compare, which must
    also be aligned to a long.
    
    Signed-off-by: David Ward <david.ward@ll.mit.edu>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Kim Phillips <kim.phillips@freescale.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dpward committed with gregkh Sep 5, 2011
  19. @gregkh

    ext4: remove i_mutex lock in ext4_evict_inode to fix lockdep complaining

    commit 8c0bec2 upstream.
    
    The i_mutex lock and flush_completed_IO() added by commit 2581fdc
    in ext4_evict_inode() causes lockdep complaining about potential
    deadlock in several places.  In most/all of these LOCKDEP complaints
    it looks like it's a false positive, since many of the potential
    circular locking cases can't take place by the time the
    ext4_evict_inode() is called; but since at the very least it may mask
    real problems, we need to address this.
    
    This change removes the flush_completed_IO() and i_mutex lock in
    ext4_evict_inode().  Instead, we take a different approach to resolve
    the software lockup that commit 2581fdc intends to fix.  Rather
    than having ext4-dio-unwritten thread wait for grabing the i_mutex
    lock of an inode, we use mutex_trylock() instead, and simply requeue
    the work item if we fail to grab the inode's i_mutex lock.
    
    This should speed up work queue processing in general and also
    prevents the following deadlock scenario: During page fault,
    shrink_icache_memory is called that in turn evicts another inode B.
    Inode B has some pending io_end work so it calls ext4_ioend_wait()
    that waits for inode B's i_ioend_count to become zero.  However, inode
    B's ioend work was queued behind some of inode A's ioend work on the
    same cpu's ext4-dio-unwritten workqueue.  As the ext4-dio-unwritten
    thread on that cpu is processing inode A's ioend work, it tries to
    grab inode A's i_mutex lock.  Since the i_mutex lock of inode A is
    still hold before the page fault happened, we enter a deadlock.
    
    Signed-off-by: Jiaying Zhang <jiayingz@google.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jiaying Zhang committed with gregkh Aug 31, 2011
  20. @zonque @gregkh

    mtd: pxa3xx_nand: Fix blank page ECC mismatch

    commit 543e32d upstream.
    
    This bug was introduced in f8155a4 ("mtd: pxa3xx_nand: rework irq
    logic") and causes the PXA3xx NAND controller fail to operate with NAND
    flash that has empty pages. According to the comment in this block, the
    hardware controller will report a double-bit error for empty pages,
    which can and must be ignored.
    
    This patch restores the original behaviour of the driver.
    
    Signed-off-by: Daniel Mack <zonque@gmail.com>
    Acked-by: Lei Wen <leiwen@marvell.com>
    Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
    Cc: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    zonque committed with gregkh Jun 7, 2011
  21. @gregkh

    mtd: pxa3xx_nand: fix nand detection issue

    commit 0fab028 upstream.
    
    When keep_config is set, the detection would goes different routine.
    That the driver would read out the setting which is set previously
    by bootloader. While most bootloader keep the irq mask as off, and
    current driver need all irq default open, keep_config behavior would
    lead to no irq at all.
    
    Signed-off-by: Lei Wen <leiwen@marvell.com>
    Tested-by: Daniel Mack <zonque@gmail.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Lei Wen committed with gregkh Jun 7, 2011
  22. @dilinger @gregkh

    mtd: provide an alias for the redboot module name

    commit d5de190 upstream.
    
    parse_mtd_partitions takes a list of partition types; if the driver
    isn't loaded, it attempts to load it, and then it grabs the partition
    parser.  For redboot, the module name is "redboot.ko", while the parser
    name is "RedBoot".  Since modprobe is case-sensitive, attempting to
    modprobe "RedBoot" will never work.  I suspect the embedded systems that
    make use of redboot just always manually loaded redboot prior to loading
    their specific nand chip drivers (or statically compiled it in).
    
    Signed-off-by: Andres Salomon <dilinger@queued.net>
    Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dilinger committed with gregkh Oct 14, 2011
  23. @pewi @gregkh

    mtd: mtdchar: add missing initializer on raw write

    commit bf51408 upstream.
    
    On writes in MODE_RAW the mtd_oob_ops struct is not sufficiently
    initialized which may cause nandwrite to fail. With this patch
    it is possible to write raw nand/oob data without additional ECC
    (either for testing or when some sectors need different oob layout
    e.g. bootloader) like
    nandwrite  -n -r -o  /dev/mtd0 <myfile>
    
    Signed-off-by: Peter Wippich <pewi@gw-instruments.de>
    Tested-by: Ricard Wanderlof <ricardw@axis.com>
    Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    pewi committed with gregkh Jun 6, 2011
  24. @jmberg @gregkh

    mac80211: disable powersave for broken APs

    commit 05cb910 upstream.
    
    Only AID values 1-2007 are valid, but some APs have been
    found to send random bogus values, in the reported case an
    AP that was sending the AID field value 0xffff, an AID of
    0x3fff (16383).
    
    There isn't much we can do but disable powersave since
    there's no way it can work properly in this case.
    
    Reported-by: Bill C Riemers <briemers@redhat.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jmberg committed with gregkh Oct 28, 2011
  25. @elp @gregkh

    mac80211: config hw when going back on-channel

    commit 6911bf0 upstream.
    
    When going back on-channel, we should reconfigure
    the hw iff the hardware is not already configured
    to the operational channel.
    
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    elp committed with gregkh Oct 20, 2011
  26. @elp @gregkh

    mac80211: fix remain_off_channel regression

    commit eaa7af2 upstream.
    
    The offchannel code is currently broken - we should
    remain_off_channel if the work was started, and
    the work's channel and channel_type are the same
    as local->tmp_channel and local->tmp_channel_type.
    
    However, if wk->chan_type and local->tmp_channel_type
    coexist (e.g. have the same channel type), we won't
    remain_off_channel.
    
    This behavior was introduced by commit da2fd1f
    ("mac80211: Allow work items to use existing
    channel type.")
    
    Tested-by: Ben Greear <greearb@candelatech.com>
    Signed-off-by: Eliad Peller <eliad@wizery.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    elp committed with gregkh Oct 20, 2011
  27. @gregkh

    ath9k_hw: Update AR9485 initvals to fix system hang issue

    commit 98fb2cc upstream.
    
    This patch fixes system hang when resuming from S3 state
    and lower rate sens failure issue.
    
    Signed-off-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Rajkumar Manoharan committed with gregkh Oct 24, 2011
  28. @jmberg @gregkh

    netlink: validate NLA_MSECS length

    commit c30bc94 upstream.
    
    L2TP for example uses NLA_MSECS like this:
    policy:
            [L2TP_ATTR_RECV_TIMEOUT]        = { .type = NLA_MSECS, },
    code:
            if (info->attrs[L2TP_ATTR_RECV_TIMEOUT])
                    cfg.reorder_timeout = nla_get_msecs(info->attrs[L2TP_ATTR_RECV_TIMEOUT]);
    
    As nla_get_msecs() is essentially nla_get_u64() plus the
    conversion to a HZ-based value, this will not properly
    reject attributes from userspace that aren't long enough
    and might overrun the message.
    
    Add NLA_MSECS to the attribute minlen array to check the
    size properly.
    
    Cc: Thomas Graf <tgraf@suug.ch>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jmberg committed with gregkh Nov 3, 2011
  29. @gregkh

    ACPI atomicio: Convert width in bits to bytes in __acpi_ioremap_fast()

    commit 3bf3f8b upstream.
    
    Callers to __acpi_ioremap_fast() pass the bit_width that they found in the
    acpi_generic_address structure. Convert from bits to bytes when passing to
    __acpi_find_iomap() - as it wants to see bytes, not bits.
    
    Signed-off-by: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Luck, Tony committed with gregkh Oct 21, 2011
  30. @antonblanchard @gregkh

    powerpc: Fix deadlock in icswx code

    commit 8bdafa3 upstream.
    
    The icswx code introduced an A-B B-A deadlock:
    
         CPU0                    CPU1
         ----                    ----
    lock(&anon_vma->mutex);
                                 lock(&mm->mmap_sem);
                                 lock(&anon_vma->mutex);
    lock(&mm->mmap_sem);
    
    Instead of using the mmap_sem to keep mm_users constant, take the
    page table spinlock.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    antonblanchard committed with gregkh Sep 14, 2011
  31. @gregkh

    powerpc/eeh: Fix /proc/ppc64/eeh creation

    commit 8feaa43 upstream.
    
    Since commit 188917e, /proc/ppc64 is a
    symlink to /proc/powerpc/. That means that creating /proc/ppc64/eeh will
    end up with a unaccessible file, that is not listed under /proc/powerpc/
    and, then, not listed under /proc/ppc64/.
    
    Creating /proc/powerpc/eeh fixes that problem and maintain the
    compatibility intended with the ppc64 symlink.
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Thadeu Lima de Souza Cascardo committed with gregkh Aug 26, 2011
  32. @antonblanchard @gregkh

    powerpc/pseries: Avoid spurious error during hotplug CPU add

    commit 9c74002 upstream.
    
    During hotplug CPU add we get the following error:
    
    Unexpected Error (0) returned from configure-connector
    
    ibm,configure-connector returns 0 for configuration complete, so
    catch this and avoid the error.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    antonblanchard committed with gregkh Aug 14, 2011
  33. @antonblanchard @gregkh

    powerpc: Fix oops when echoing bad values to /sys/devices/system/memo…

    …ry/probe
    
    commit a119409 upstream.
    
    If we echo an address the hypervisor doesn't like to
    /sys/devices/system/memory/probe we oops the box:
    
    # echo 0x10000000000 > /sys/devices/system/memory/probe
    
    kernel BUG at arch/powerpc/mm/hash_utils_64.c:541!
    
    The backtrace is:
    
    create_section_mapping
    arch_add_memory
    add_memory
    memory_probe_store
    sysdev_class_store
    sysfs_write_file
    vfs_write
    SyS_write
    
    In create_section_mapping we BUG if htab_bolt_mapping returned
    an error. A better approach is to return an error which will
    propagate back to userspace.
    
    Rerunning the test with this patch applied:
    
    # echo 0x10000000000 > /sys/devices/system/memory/probe
    -bash: echo: write error: Invalid argument
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    antonblanchard committed with gregkh Aug 10, 2011
  34. @antonblanchard @gregkh

    powerpc/numa: Remove double of_node_put in hot_add_node_scn_to_nid

    commit 6083184 upstream.
    
    During memory hotplug testing, I got the following warning:
    
    ERROR: Bad of_node_put() on /memory@0
    
    of_node_release
    kref_put
    of_node_put
    of_find_node_by_type
    hot_add_node_scn_to_nid
    hot_add_scn_to_nid
    memory_add_physaddr_to_nid
    ...
    
    of_find_node_by_type() loop does the of_node_put for us so we only
    need the handle the case where we terminate the loop early.
    
    As suggested by Stephen Rothwell we can do the of_node_put
    unconditionally outside of the loop since of_node_put handles a
    NULL argument fine.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    antonblanchard committed with gregkh Aug 10, 2011
  35. @gregkh

    VFS: we need to set LOOKUP_JUMPED on mountpoint crossing

    commit a3fbbde upstream.
    
    Mountpoint crossing is similar to following procfs symlinks - we do
    not get ->d_revalidate() called for dentry we have arrived at, with
    unpleasant consequences for NFS4.
    
    Simple way to reproduce the problem in mainline:
    
        cat >/tmp/a.c <<'EOF'
        #include <unistd.h>
        #include <fcntl.h>
        #include <stdio.h>
        main()
        {
                struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
                if (fcntl(0, F_SETLK, &fl))
                        perror("setlk");
        }
        EOF
        cc /tmp/a.c -o /tmp/test
    
    then on nfs4:
    
        mount --bind file1 file2
        /tmp/test < file1		# ok
        /tmp/test < file2		# spews "setlk: No locks available"...
    
    What happens is the missing call of ->d_revalidate() after mountpoint
    crossing and that's where NFS4 would issue OPEN request to server.
    
    The fix is simple - treat mountpoint crossing the same way we deal with
    following procfs-style symlinks.  I.e.  set LOOKUP_JUMPED...
    
    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Al Viro committed with gregkh Nov 7, 2011
Something went wrong with that request. Please try again.