Skip to content
Commits on May 11, 2012
  1. @bwhacks

    Linux 3.2.17

    bwhacks committed May 11, 2012
  2. @bwhacks

    smsc95xx: mark link down on startup and let PHY interrupt deal with c…

    …arrier changes
    
    commit 07d69d4 upstream.
    
    Without this patch sysfs reports the cable as present
    
    flag@flag-desktop:~$ cat /sys/class/net/eth0/carrier
    1
    
    while it's not:
    
    flag@flag-desktop:~$ sudo mii-tool eth0
    eth0: no link
    
    Tested on my Beagle XM.
    
    v2: added mantainer to the list of recipient
    
    Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
    Acked-by: Steve Glendinning <steve.glendinning@shawell.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Paolo Pisati committed with bwhacks Apr 23, 2012
  3. @lwfinger @bwhacks

    staging: r8712u: Fix regression caused by commit 8c213fa

    commit 2080913 upstream.
    
    In commit 8c213fa "staging: r8712u: Use asynchronous firmware loading",
    the command to release the firmware was placed in the wrong routine.
    
    In combination with the bug introduced in commit a5ee652 "staging: r8712u:
    Interface-state not fully tracked", the driver attempts to upload firmware
    that had already been released. This bug is the source of one of the
    problems in https://bugs.archlinux.org/task/27996#comment89833.
    
    Tested-by: Alberto Lago Ballesteros <saniukeokusainaya@gmail.com>
    Tested-by: Adrian <agib@gmx.de>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    lwfinger committed with bwhacks Feb 25, 2012
  4. @utrace @bwhacks

    exit_signal: fix the "parent has changed security domain" logic

    commit b6e238d upstream.
    
    exit_notify() changes ->exit_signal if the parent already did exec.
    This doesn't really work, we are not going to send the signal now
    if there is another live thread or the exiting task is traced. The
    parent can exec before the last dies or the tracer detaches.
    
    Move this check into do_notify_parent() which actually sends the
    signal.
    
    The user-visible change is that we do not change ->exit_signal,
    and thus the exiting task is still "clone children" for
    do_wait()->eligible_child(__WCLONE). Hopefully this is fine, the
    current logic is racy anyway.
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    utrace committed with bwhacks Mar 19, 2012
  5. @utrace @bwhacks

    exit_signal: simplify the "we have changed execution domain" logic

    commit e636825 upstream.
    
    exit_notify() checks "tsk->self_exec_id != tsk->parent_exec_id"
    to handle the "we have changed execution domain" case.
    
    We can change do_thread() to always set ->exit_signal = SIGCHLD
    and remove this check to simplify the code.
    
    We could change setup_new_exec() instead, this looks more logical
    because it increments ->self_exec_id. But note that de_thread()
    already resets ->exit_signal if it changes the leader, let's keep
    both changes close to each other.
    
    Note that we change ->exit_signal lockless, this changes the rules.
    Thereafter ->exit_signal is not stable under tasklist but this is
    fine, the only possible change is OLDSIG -> SIGCHLD. This can race
    with eligible_child() but the race is harmless. We can race with
    reparent_leader() which changes our ->exit_signal in parallel, but
    it does the same change to SIGCHLD.
    
    The noticeable user-visible change is that the execing task is not
    "visible" to do_wait()->eligible_child(__WCLONE) right after exec.
    To me this looks more logical, and this is consistent with mt case.
    
    Signed-off-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    utrace committed with bwhacks Mar 19, 2012
  6. @bwhacks

    iwlwifi: use 6000G2B for 6030 device series

    commit 1ed2ec3 upstream.
    
    "iwlwifi: use correct released ucode version" change
    the ucode api ok from 6000G2 to 6000G2B, but it shall belong
    to 6030 device series, not the 6005 device series. Fix it
    
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Wey-Yi Guy committed with bwhacks Apr 25, 2012
  7. @bwhacks

    iwlwifi: use correct released ucode version

    commit 78cbcf2 upstream.
    
    Report correctly the latest released version
    of the iwlwifi firmware for all
    iwlwifi-supported devices.
    
    Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Meenakshi Venkataraman committed with bwhacks Apr 22, 2012
  8. @jmberg @bwhacks

    iwlagn: allow up to uCode API 6 for 6000 devices

    commit b914811 upstream.
    
    Since the uCode hasn't been released (yet?),
    warn only if using older than API 4, but load
    anything up to API 6.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    jmberg committed with bwhacks Nov 4, 2011
  9. @htejun @bwhacks

    percpu, x86: don't use PMD_SIZE as embedded atom_size on 32bit

    commit d5e2800 upstream.
    
    With the embed percpu first chunk allocator, x86 uses either PAGE_SIZE
    or PMD_SIZE for atom_size.  PMD_SIZE is used when CPU supports PSE so
    that percpu areas are aligned to PMD mappings and possibly allow using
    PMD mappings in vmalloc areas in the future.  Using larger atom_size
    doesn't waste actual memory; however, it does require larger vmalloc
    space allocation later on for !first chunks.
    
    With reasonably sized vmalloc area, PMD_SIZE shouldn't be a problem
    but x86_32 at this point is anything but reasonable in terms of
    address space and using larger atom_size reportedly leads to frequent
    percpu allocation failures on certain setups.
    
    As there is no reason to not use PMD_SIZE on x86_64 as vmalloc space
    is aplenty and most x86_64 configurations support PSE, fix the issue
    by always using PMD_SIZE on x86_64 and PAGE_SIZE on x86_32.
    
    v2: drop cpu_has_pse test and make x86_64 always use PMD_SIZE and
        x86_32 PAGE_SIZE as suggested by hpa.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Yanmin Zhang <yanmin.zhang@intel.com>
    Reported-by: ShuoX Liu <shuox.liu@intel.com>
    Acked-by: H. Peter Anvin <hpa@zytor.com>
    LKML-Reference: <4F97BA98.6010001@intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    htejun committed with bwhacks Apr 27, 2012
  10. @dvrabel @bwhacks

    xen/pci: don't use PCI BIOS service for configuration space accesses

    commit 76a8df7 upstream.
    
    The accessing PCI configuration space with the PCI BIOS32 service does
    not work in PV guests.
    
    On systems without MMCONFIG or where the BIOS hasn't marked the
    MMCONFIG region as reserved in the e820 map, the BIOS service is
    probed (even though direct access is preferred) and this hangs.
    
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: David Vrabel <david.vrabel@citrix.com>
    [v1: Fixed compile error when CONFIG_PCI is not set]
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    dvrabel committed with bwhacks May 4, 2012
  11. @bwhacks

    xen/pte: Fix crashes when trying to see non-existent PGD/PMD/PUD/PTEs

    commit b7e5ffe upstream.
    
    If I try to do "cat /sys/kernel/debug/kernel_page_tables"
    I end up with:
    
    BUG: unable to handle kernel paging request at ffffc7fffffff000
    IP: [<ffffffff8106aa51>] ptdump_show+0x221/0x480
    PGD 0
    Oops: 0000 [#1] SMP
    CPU 0
    .. snip..
    RAX: 0000000000000000 RBX: ffffc00000000fff RCX: 0000000000000000
    RDX: 0000800000000000 RSI: 0000000000000000 RDI: ffffc7fffffff000
    
    which is due to the fact we are trying to access a PFN that is not
    accessible to us. The reason (at least in this case) was that
    PGD[256] is set to __HYPERVISOR_VIRT_START which was setup (by the
    hypervisor) to point to a read-only linear map of the MFN->PFN array.
    During our parsing we would get the MFN (a valid one), try to look
    it up in the MFN->PFN tree and find it invalid and return ~0 as PFN.
    Then pte_mfn_to_pfn would happilly feed that in, attach the flags
    and return it back to the caller. 'ptdump_show' bitshifts it and
    gets and invalid value that it tries to dereference.
    
    Instead of doing all of that, we detect the ~0 case and just
    return !_PAGE_PRESENT.
    
    This bug has been in existence .. at least until 2.6.37 (yikes!)
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Konrad Rzeszutek Wilk committed with bwhacks May 3, 2012
  12. @danvet @bwhacks

    drm/i915: Do no set Stencil Cache eviction LRA w/a on gen7+

    commit 2e7a448 upstream.
    
    I've flagged this while reviewing the first version and Ken Graunke
    fixed it up in v2, but unfortunately Dave Airlie picked up the wrong
    version.
    
    Cc: Dave Airlie <airlied@redhat.com>
    Cc: Kenneth Graunke <kenneth@whitecape.org>
    Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    danvet committed with bwhacks May 6, 2012
  13. @danvet @bwhacks

    drm/i915: disable sdvo hotplug on i945g/gm

    commit 768b107 upstream.
    
    Chris Wilson dug out a hw erratum saying that there's noise on the
    interrupt line on i945G chips. We also have a bug report from a i945GM
    chip with an sdvo hotplug interrupt storm (and no apparent cause).
    
    Play it safe and disable sdvo hotplug on all i945 variants.
    
    Note that this is a regression that has been introduced in 3.1,
    when we've enabled sdvo hotplug support with
    
    commit cc68c81
    Author: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
    Date:   Wed Sep 21 17:13:30 2011 +0100
    
        drm/i915: Enable SDVO hotplug interrupts for HDMI and DVI
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=38442
    Reported-and-tested-by: Dominik Köppl <dominik@devwork.org>
    Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    danvet committed with bwhacks May 4, 2012
  14. @colincross @bwhacks

    ARM: 7414/1: SMP: prevent use of the console when using idmap_pgd

    commit fde165b upstream.
    
    Commit 4e8ee7d (ARM: SMP: use
    idmap_pgd for mapping MMU enable during secondary booting)
    switched secondary boot to use idmap_pgd, which is initialized
    during early_initcall, instead of a page table initialized during
    __cpu_up.  This causes idmap_pgd to contain the static mappings
    but be missing all dynamic mappings.
    
    If a console is registered that creates a dynamic mapping, the
    printk in secondary_start_kernel will trigger a data abort on
    the missing mapping before the exception handlers have been
    initialized, leading to a hang.  Initial boot is not affected
    because no consoles have been registered, and resume is usually
    not affected because the offending console is suspended.
    Onlining a cpu with hotplug triggers the problem.
    
    A workaround is to the printk in secondary_start_kernel until
    after the page tables have been switched back to init_mm.
    
    Signed-off-by: Colin Cross <ccross@android.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    colincross committed with bwhacks May 5, 2012
  15. @bwhacks

    ARM: 7410/1: Add extra clobber registers for assembly in kernel_execve

    commit e787ec1 upstream.
    
    The inline assembly in kernel_execve() uses r8 and r9.  Since this
    code sequence does not return, it usually doesn't matter if the
    register clobber list is accurate.  However, I saw a case where a
    particular version of gcc used r8 as an intermediate for the value
    eventually passed to r9.  Because r8 is used in the inline
    assembly, and not mentioned in the clobber list, r9 was set
    to an incorrect value.
    
    This resulted in a kernel panic on execution of the first user-space
    program in the system.  r9 is used in ret_to_user as the thread_info
    pointer, and if it's wrong, bad things happen.
    
    Signed-off-by: Tim Bird <tim.bird@am.sony.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Tim Bird committed with bwhacks May 2, 2012
  16. @bwhacks

    x86, relocs: Remove an unused variable

    commit 7c77cda upstream.
    
    sh_symtab is set but not used.
    
    [ hpa: putting this in urgent because of the sheer harmlessness of the patch:
      it quiets a build warning but does not change any generated code. ]
    
    Signed-off-by: Kusanagi Kouichi <slash@ac.auone-net.jp>
    Link: http://lkml.kernel.org/r/20120401082932.D5E066FC03D@msa105.auone-net.jp
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Kusanagi Kouichi committed with bwhacks Apr 1, 2012
  17. @bwhacks

    asm-generic: Use __BITS_PER_LONG in statfs.h

    commit f5c2347 upstream.
    
    <asm-generic/statfs.h> is exported to userspace, so using
    BITS_PER_LONG is invalid.  We need to use __BITS_PER_LONG instead.
    
    This is kernel bugzilla 43165.
    
    Reported-by: H.J. Lu <hjl.tools@gmail.com>
    Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
    Link: http://lkml.kernel.org/r/1335465916-16965-1-git-send-email-hpa@linux.intel.com
    Acked-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    H. Peter Anvin committed with bwhacks Apr 26, 2012
  18. @ebenard @bwhacks

    ASoC: tlv312aic23: unbreak resume

    commit e875c1e upstream.
    
    * commit f9dfbf9 "ASoC: tlv320aic23: convert to soc-cache" leads to
    a bug preventing resumeof the codec as regmap expects a 9 bits data
    register but 0xFFFF is passed in tlv320aic23_set_bias_level and this
    values gets cached preventing any write to the TLV320AIC23_PWR
    register as the final value produced by regmap is (register << 9) | value
    
    * this patch solves the problem by only working on the 9 bits the
    register contains.
    
    Signed-off-by: Eric Bénard <eric@eukrea.com>
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ebenard committed with bwhacks Apr 29, 2012
  19. @gregkh @bwhacks

    hfsplus: Fix potential buffer overflows

    commit 6f24f89 upstream.
    
    Commit ec81aec ("hfs: fix a potential buffer overflow") fixed a few
    potential buffer overflows in the hfs filesystem.  But as Timo Warns
    pointed out, these changes also need to be made on the hfsplus
    filesystem as well.
    
    Reported-by: Timo Warns <warns@pre-sense.de>
    Acked-by: WANG Cong <amwang@redhat.com>
    Cc: Alexey Khoroshilov <khoroshilov@ispras.ru>
    Cc: Miklos Szeredi <mszeredi@suse.cz>
    Cc: Sage Weil <sage@newdream.net>
    Cc: Eugene Teo <eteo@redhat.com>
    Cc: Roman Zippel <zippel@linux-m68k.org>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Alexey Dobriyan <adobriyan@gmail.com>
    Cc: Dave Anderson <anderson@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    gregkh committed with bwhacks May 4, 2012
  20. @jmberg @bwhacks

    iwlwifi: fix hardware queue programming

    commit 5ef4acd upstream.
    
    Newer devices have 20 (5000 series) or 30 (6000 series)
    hardware queues, rather than the 16 that 4965 had. This
    was added to the driver a long time ago, but improperly:
    the queue registers for the higher queues aren't just
    continuations of the registers for the first 16 queues,
    they are in other places. Therefore, the hardware would
    lock up when trying to activate queue 16 or above and
    the device would have to be restarted.
    
    Thanks goes to Emmanuel who identified this and told me
    how the queue programming should be done.
    
    Note that we don't use queues 20 and higher today and
    doing so needs more work than this.
    
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    jmberg committed with bwhacks Apr 23, 2012
  21. @sgruszka @bwhacks

    iwlwifi: do not nulify ctx->vif on reset

    commit 8db4c7e upstream.
    
    ctx->vif is dereferenced in different part of iwlwifi code, so do not
    nullify it.
    
    This should address at least one of the possible reasons of WARNING at
    iwlagn_mac_remove_interface, and perhaps some random crashes when
    firmware reset is performed.
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2:
     - Change filename iwl-mac80211.c to iwl-core.c
     - Change context in iwlagn_prepare_restart()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    sgruszka committed with bwhacks Apr 18, 2012
  22. @notaz @bwhacks

    wl1251: fix crash on remove due to leftover work item

    commit 4c1bcdb upstream.
    
    This driver currently leaves elp_work behind when stopping, which
    occasionally results in data corruption because work function ends
    up accessing freed memory, typical symptoms of this are various
    worker_thread crashes. Fix it by cancelling elp_work.
    
    Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    notaz committed with bwhacks Apr 26, 2012
  23. @notaz @bwhacks

    wl1251: fix crash on remove due to premature kfree

    commit 328c32f upstream.
    
    Currently SDIO glue frees it's own structure before calling
    wl1251_free_hw(), which in turn calls ieee80211_unregister_hw().
    The later call may result in a need to communicate with the chip
    to stop it (as it happens now if the interface is still up before
    rmmod), which means calls are made back to the glue, resulting in
    freed memory access.
    
    Fix this by freeing glue data last.
    
    Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    notaz committed with bwhacks Apr 26, 2012
  24. @lwfinger @bwhacks

    rtlwifi: Fix oops on unload

    commit 44eb65c upstream.
    
    Under some circumstances, a PCI-based driver reports the following OOPs:
    
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Oops: 0000 [#1] SMP
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Pid: 19627, comm: rmmod
    Not tainted 3.2.9-2.fc16.x86_64 #1 LENOVO 05962RU/05962RU
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP:
    0010:[<ffffffffa0418d39>]  [<ffffffffa0418d39>]
    rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Process rmmod (pid:
    19627, threadinfo ffff880050262000, task ffff8801156d5cc0)
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Stack:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000002
    ffff8801176c2540 ffff880050263ca8 ffffffffa03348e7
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  0000000000000282
    0000000180150014 ffff880050263fd8 ffff8801176c2810
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  ffff880050263bc8
    ffffffff810550e2 00000000000002c0 ffff8801176c0d40
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Call Trace:
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  [<ffffffffa03348e7>]
    _rtl_pci_rx_interrupt+0x187/0x650 [rtlwifi]
    --snip--
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] Code: ff 09 d0 89 07 48
    83 c4 08 5b 5d c3 66 0f 1f 44 00 00 55 48 89 e5 53 48 83 ec 08 66 66
    66 66 90 40 84 f6 89 d3 74 13 84 d2 75 57 <8b> 07 48 83 c4 08 5b 5d c1
    e8 1f c3 0f 1f 00 84 d2 74 ed 80 fa
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] RIP
    [<ffffffffa0418d39>] rtl92ce_get_desc+0x19/0xd0 [rtl8192ce]
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011]  RSP <ffff880050263b58>
    Mar 19 08:14:35 kvothe kernel: [ 6584.626011] CR2: 00000000000006e0
    Mar 19 08:14:35 kvothe kernel: [ 6584.646491] ---[ end trace
    8636c766dcfbe0e6 ]---
    
    This oops is due to interrupts not being disabled in this particular path.
    
    Reported-by: Dave Airlie <airlied@gmail.com>
    Tested-by: Dave Airlie <airlied@gmail.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    lwfinger committed with bwhacks Apr 19, 2012
  25. @nbd168 @bwhacks

    mac80211: fix AP mode EAP tx for VLAN stations

    commit 66f2c99 upstream.
    
    EAP frames for stations in an AP VLAN are sent on the main AP interface
    to avoid race conditions wrt. moving stations.
    For that to work properly, sta_info_get_bss must be used instead of
    sta_info_get when sending EAP packets.
    Previously this was only done for cooked monitor injected packets, so
    this patch adds a check for tx->skb->protocol to the same place.
    
    Signed-off-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    nbd168 committed with bwhacks Apr 29, 2012
  26. @stanislav-yakovlev @bwhacks

    ipw2200: Fix race condition in the command completion acknowledge

    commit dd44731 upstream.
    
    Driver incorrectly validates command completion: instead of waiting
    for a command to be acknowledged it continues execution.  Most of the
    time driver gets acknowledge of the command completion in a tasklet
    before it executes the next one. But sometimes it sends the next
    command before it gets acknowledge for the previous one. In such a
    case one of the following error messages appear in the log:
    
    Failed to send SYSTEM_CONFIG: Already sending a command.
    Failed to send ASSOCIATE: Already sending a command.
    Failed to send TX_POWER: Already sending a command.
    
    After that you need to reload the driver to get it working again.
    
    This bug occurs during roaming (reported by Sam Varshavchik)
    https://bugzilla.redhat.com/show_bug.cgi?id=738508
    and machine booting (reported by Tom Gundersen and Mads Kiilerich)
    https://bugs.archlinux.org/task/28097
    https://bugzilla.redhat.com/show_bug.cgi?id=802106
    
    This patch doesn't fix the delay issue during firmware load.
    But at least device now works as usual after boot.
    
    Signed-off-by: Stanislav Yakovlev <stas.yakovlev@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    stanislav-yakovlev committed with bwhacks Apr 19, 2012
  27. @stigge @bwhacks

    i2c: pnx: Disable clk in suspend

    commit 6c557cf upstream.
    
    In the driver's suspend function, clk_enable() was used instead of
    clk_disable(). This is corrected with this patch.
    
    Signed-off-by: Roland Stigge <stigge@antcom.de>
    Reviewed-by: Arnd Bergmann <arnd@arndb.de>
    
    [wsa: reworded commit header slightly]
    
    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    stigge committed with bwhacks Apr 4, 2012
  28. @bwhacks

    b43: only reload config after successful initialization

    commit dbdedbd upstream.
    
    Commit 2a19032 (b43: reload phy and bss settings after core restarts)
    introduced an unconditional call to b43_op_config() at the end of
    b43_op_start(). When firmware fails to load this can wedge the system.
    There's no need to reload the configuration after a failed
    initialization anyway, so only make the call if initialization was
    successful.
    
    BugLink: http://bugs.launchpad.net/bugs/950295
    Cc: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Seth Forshee committed with bwhacks Apr 25, 2012
  29. @bwhacks

    libata: skip old error history when counting probe trials

    commit 6868225 upstream.
    
    Commit d902747("[libata] Add ATA transport class") introduced
    ATA_EFLAG_OLD_ER to mark entries in the error ring as cleared.
    
    But ata_count_probe_trials_cb() didn't check this flag and it still
    counts the old error history. So wrong probe trials count is returned
    and it causes problem, for example, SATA link speed is slowed down from
    3.0Gbps to 1.5Gbps.
    
    Fix it by checking ATA_EFLAG_OLD_ER in ata_count_probe_trials_cb().
    
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Lin Ming committed with bwhacks May 3, 2012
  30. @bwhacks

    hwmon: (coretemp) fix oops on cpu unplug

    commit b704871 upstream.
    
    coretemp tries to access core_data array beyond bounds on cpu unplug if
    core id of the cpu if more than NUM_REAL_CORES-1.
    
    BUG: unable to handle kernel NULL pointer dereference at 000000000000013c
    IP: [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
    PGD 673e5a067 PUD 66e9b3067 PMD 0
    Oops: 0000 [#1] SMP
    CPU 79
    Modules linked in: sunrpc cpufreq_ondemand acpi_cpufreq freq_table mperf bnep bluetooth rfkill ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter nf_conntrack_ipv4 nf_defrag_ipv4 ip6_tables xt_state nf_conntrack coretemp crc32c_intel asix tpm_tis pcspkr usbnet iTCO_wdt i2c_i801 microcode mii joydev tpm i2c_core iTCO_vendor_support tpm_bios i7core_edac igb ioatdma edac_core dca megaraid_sas [last unloaded: oprofile]
    
    Pid: 3315, comm: set-cpus Tainted: G        W    3.4.0-rc5+ #2 QCI QSSC-S4R/QSSC-S4R
    RIP: 0010:[<ffffffffa00159af>]  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
    RSP: 0018:ffff880472fb3d48  EFLAGS: 00010246
    RAX: 0000000000000124 RBX: 0000000000000034 RCX: 00000000ffffffff
    RDX: 0000000000000000 RSI: 0000000000000046 RDI: 0000000000000246
    RBP: ffff880472fb3d88 R08: ffff88077fcd36c0 R09: 0000000000000001
    R10: ffffffff8184bc48 R11: 0000000000000000 R12: ffff880273095800
    R13: 0000000000000013 R14: ffff8802730a1810 R15: 0000000000000000
    FS:  00007f694a20f720(0000) GS:ffff88077fcc0000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 000000000000013c CR3: 000000067209b000 CR4: 00000000000007e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process set-cpus (pid: 3315, threadinfo ffff880472fb2000, task ffff880471fa0000)
    Stack:
     ffff880277b4c308 0000000000000003 ffff880472fb3d88 0000000000000005
     0000000000000034 00000000ffffffd1 ffffffff81cadc70 ffff880472fb3e14
     ffff880472fb3dc8 ffffffff8161f48d ffff880471fa0000 0000000000000034
    Call Trace:
     [<ffffffff8161f48d>] notifier_call_chain+0x4d/0x70
     [<ffffffff8107f1be>] __raw_notifier_call_chain+0xe/0x10
     [<ffffffff81059d30>] __cpu_notify+0x20/0x40
     [<ffffffff815fa251>] _cpu_down+0x81/0x270
     [<ffffffff815fa477>] cpu_down+0x37/0x50
     [<ffffffff815fd6a3>] store_online+0x63/0xc0
     [<ffffffff813c7078>] dev_attr_store+0x18/0x30
     [<ffffffff811f02cf>] sysfs_write_file+0xef/0x170
     [<ffffffff81180443>] vfs_write+0xb3/0x180
     [<ffffffff8118076a>] sys_write+0x4a/0x90
     [<ffffffff816236a9>] system_call_fastpath+0x16/0x1b
    Code: 48 c7 c7 94 60 01 a0 44 0f b7 ac 10 ac 00 00 00 31 c0 e8 41 b7 5f e1 41 83 c5 02 49 63 c5 49 8b 44 c4 10 48 85 c0 74 56 45 31 ff <39> 58 18 75 4e eb 1f 49 63 d7 4c 89 f7 48 89 45 c8 48 6b d2 28
    RIP  [<ffffffffa00159af>] coretemp_cpu_callback+0x93/0x1ba [coretemp]
     RSP <ffff880472fb3d48>
    CR2: 000000000000013c
    
    Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Kirill A. Shutemov committed with bwhacks Apr 30, 2012
  31. @bwhacks

    nouveau: initialise has_optimus variable.

    commit addde4e upstream.
    
    We should initialise this to 0 really to avoid getting false positives.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Dave Airlie committed with bwhacks May 2, 2012
  32. @bwhacks

    hwmon: (coretemp) Increase CPU core limit

    commit bdc71c9 upstream.
    
    CPU core ID is used to index the core_data[] array. The core ID is, however, not
    sequential; 10-core CPUS can have a core ID as high as 25. Increase the limit to
    32 to be able to deal with current CPUs.
    
    Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
    Acked-by: Jean Delvare <khali@linux-fr.org>
    Acked-by: Durgadoss R <durgadoss.r@intel.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Guenter Roeck committed with bwhacks May 1, 2012
  33. @torvalds @bwhacks

    Fix __read_seqcount_begin() to use ACCESS_ONCE for sequence value read

    commit 2f62427 upstream.
    
    We really need to use a ACCESS_ONCE() on the sequence value read in
    __read_seqcount_begin(), because otherwise the compiler might end up
    reloading the value in between the test and the return of it.  As a
    result, it might end up returning an odd value (which means that a write
    is in progress).
    
    If the reader is then fast enough that that odd value is still the
    current one when the read_seqcount_retry() is done, we might end up with
    a "successful" read sequence, even despite the concurrent write being
    active.
    
    In practice this probably never really happens - there just isn't
    anything else going on around the read of the sequence count, and the
    common case is that we end up having a read barrier immediately
    afterwards.
    
    So the code sequence in which gcc might decide to reaload from memory is
    small, and there's no reason to believe it would ever actually do the
    reload.  But if the compiler ever were to decide to do so, it would be
    incredibly annoying to debug.  Let's just make sure.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    torvalds committed with bwhacks May 4, 2012
  34. @metze-samba @bwhacks

    fs/cifs: fix parsing of dfs referrals

    commit d8f2799 upstream.
    
    The problem was that the first referral was parsed more than once
    and so the caller tried the same referrals multiple times.
    
    The problem was introduced partly by commit
    066ce68,
    where 'ref += le16_to_cpu(ref->Size);' got lost,
    but that was also wrong...
    
    Signed-off-by: Stefan Metzmacher <metze@samba.org>
    Tested-by: Björn Jacke <bj@sernet.de>
    Reviewed-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>
    [bwh: Backport to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    metze-samba committed with bwhacks May 4, 2012
  35. @bwhacks

    efivars: Improve variable validation

    commit 54b3a4d upstream.
    
    Ben Hutchings pointed out that the validation in efivars was inadequate -
    most obviously, an entry with size 0 would server as a DoS against the
    kernel. Improve this based on his suggestions.
    
    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    Matthew Garrett committed with bwhacks May 3, 2012
Something went wrong with that request. Please try again.