Permalink
Commits on Jun 17, 2012
  1. Merge branch 'configs-3.4' into pf-3.4

    Oleksandr Natalenko
    Oleksandr Natalenko committed Jun 17, 2012
  2. configs-3.4: reenable ZRAM support for Dell Inspiron 1525 laptop

    Oleksandr Natalenko
    Oleksandr Natalenko committed Jun 17, 2012
  3. fix merge conflict

    Oleksandr Natalenko
    Oleksandr Natalenko committed Jun 17, 2012
  4. Linux 3.4.3

    gregkh committed Jun 17, 2012
  5. ata_piix: defer disks to the Hyper-V drivers by default

    Andy Whitcroft authored and gregkh committed May 4, 2012
    commit cd00608 upstream.
    
    When we are hosted on a Microsoft Hyper-V hypervisor the guest disks
    are exposed both via the Hyper-V paravirtualised drivers and via an
    emulated SATA disk drive.  In this case we want to use the paravirtualised
    drivers if we can as they are much more efficient.  Note that the Hyper-V
    paravirtualised drivers only expose the virtual hard disk devices, the
    CDROM/DVD devices must still be enumerated.
    
    Mark the host controller ATA_HOST_IGNORE_ATA to prevent enumeration of
    disk devices.
    
    BugLink: http://bugs.launchpad.net/bugs/929545
    BugLink: http://bugs.launchpad.net/bugs/942316
    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Cc: Victor Miasnikov <vvm@tut.by>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  6. libata: add a host flag to ignore detected ATA devices

    Andy Whitcroft authored and gregkh committed May 4, 2012
    commit db63a4c upstream.
    
    Where devices are visible via more than one host we sometimes wish to
    indicate that cirtain devices should be ignored on a specific host.  Add a
    host flag indicating that this host wishes to ignore ATA specific devices.
    
    Signed-off-by: Andy Whitcroft <apw@canonical.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Cc: Victor Miasnikov <vvm@tut.by>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  7. fuse: fix stat call on 32 bit platforms

    piastry authored and gregkh committed May 10, 2012
    commit 45c72cd upstream.
    
    Now we store attr->ino at inode->i_ino, return attr->ino at the
    first time and then return inode->i_ino if the attribute timeout
    isn't expired. That's wrong on 32 bit platforms because attr->ino
    is 64 bit and inode->i_ino is 32 bit in this case.
    
    Fix this by saving 64 bit ino in fuse_inode structure and returning
    it every time we call getattr. Also squash attr->ino into inode->i_ino
    explicitly.
    
    Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  8. drm/i915: Mark the ringbuffers as being in the GTT domain

    ickle authored and gregkh committed Jun 4, 2012
    commit 3eef891 upstream.
    
    By correctly describing the rinbuffers as being in the GTT domain, it
    appears that we are more careful with the management of the CPU cache
    upon resume and so prevent some coherency issue when submitting commands
    to the GPU later. A secondary effect is that the debug logs are then
    consistent with the actual usage (i.e. they no longer describe the
    ringbuffers as being in the CPU write domain when we are accessing them
    through an wc iomapping.)
    
    Reported-and-tested-by: Daniel Gnoutcheff <daniel@gnoutcheff.name>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41092
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  9. drm/radeon: fix tiling and command stream checking on evergreen v3

    Jerome Glisse authored and gregkh committed Jun 9, 2012
    commit d260987 upstream.
    
    Fix regresson since the introduction of command stream checking on
    evergreen (thread referenced below). Issue is cause by ddx allocating
    bo with formula width*height*bpp while programming the GPU command
    stream with ALIGN(height, 8). In some case (where page alignment does
    not hide the extra size bo should be according to height alignment)
    the kernel will reject the command stream.
    
    This patch reprogram the command stream to slice - 1 (slice is
    a derivative value from height) which avoid rejecting the command
    stream while keeping the value of command stream checking from a
    security point of view.
    
    This patch also fix wrong computation of layer size for 2D tiled
    surface. Which should fix issue when 2D color tiling is enabled.
    This dump the radeon KMS_DRIVER_MINOR so userspace can know if
    they are on a fixed kernel or not.
    
    https://lkml.org/lkml/2012/6/3/80
    https://bugs.freedesktop.org/show_bug.cgi?id=50892
    https://bugs.freedesktop.org/show_bug.cgi?id=50857
    
    !!! STABLE need a custom version of this patch for 3.4 !!!
    
    v2: actually bump the minor version and add comment about stable
    v3: do compute the height the ddx was trying to use
    
    [airlied: drop left over debug]
    
    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  10. sched: Fix the relax_domain_level boot parameter

    Dimitri Sivanich authored and gregkh committed Jun 5, 2012
    commit a841f8c upstream.
    
    It does not get processed because sched_domain_level_max is 0 at the
    time that setup_relax_domain_level() is run.
    
    Simply accept the value as it is, as we don't know the value of
    sched_domain_level_max until sched domain construction is completed.
    
    Fix sched_relax_domain_level in cpuset.  The build_sched_domain() routine calls
    the set_domain_attribute() routine prior to setting the sd->level, however,
    the set_domain_attribute() routine relies on the sd->level to decide whether
    idle load balancing will be off/on.
    
    Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/20120605184436.GA15668@sgi.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  11. acpi_video: fix leaking PCI references

    Alan Cox authored and gregkh committed Apr 25, 2012
    commit cfb46f4 upstream.
    
    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Acked-by: Matthew Garrett <mjg@redhat.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  12. gma500: don't register the ACPI video bus

    Alan Cox authored and gregkh committed Apr 25, 2012
    commit 155689d upstream.
    
    We are not yet ready for this and it makes a mess on some devices.
    
    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  13. can: c_can: fix race condition in c_can_open()

    AnilKumarCh authored and gregkh committed May 23, 2012
    commit f461f27 upstream.
    
    Fix the issue of C_CAN interrupts getting disabled forever when canconfig
    utility is used multiple times. According to NAPI usage we disable all
    the hardware interrupts in ISR and re-enable them in poll(). Current
    implementation calls napi_enable() after hardware interrupts are enabled.
    If we get any interrupts between these two steps then we do not process
    those interrupts because napi is not enabled. Mostly these interrupts
    come because of STATUS is not 0x7 or ERROR interrupts. If napi_enable()
    happens before HW interrupts enabled then c_can_poll() function will be
    called eventual re-enabling.
    
    This patch moves the napi_enable() call before interrupts enabled.
    
    Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
    Acked-by: Wolfgang Grandegger <wg@grandegger.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  14. can: c_can: fix an interrupt thrash issue with c_can driver

    AnilKumarCh authored and gregkh committed May 23, 2012
    commit 148c87c upstream.
    
    This patch fixes an interrupt thrash issue with c_can driver.
    
    In c_can_isr() function interrupts are disabled and enabled only in
    c_can_poll() function. c_can_isr() & c_can_poll() both read the
    irqstatus flag. However, irqstatus is always read as 0 in c_can_poll()
    because all C_CAN interrupts are disabled in c_can_isr(). This causes
    all interrupts to be re-enabled in c_can_poll() which in turn causes
    another interrupt since the event is not really handled. This keeps
    happening causing a flood of interrupts.
    
    To fix this, read the irqstatus register in isr and use the same cached
    value in the poll function.
    
    Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
    Acked-by: Wolfgang Grandegger <wg@grandegger.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  15. can: c_can: fix "BUG! echo_skb is occupied!" during transmit

    AnilKumarCh authored and gregkh committed May 23, 2012
    commit 617cacc upstream.
    
    This patch fixes an issue with transmit routine, which causes
    "can_put_echo_skb: BUG! echo_skb is occupied!" message when
    using "cansequence -p" on D_CAN controller.
    
    In c_can driver, while transmitting packets tx_echo flag holds
    the no of can frames put for transmission into the hardware.
    
    As the comment above c_can_do_tx() indicates, if we find any packet
    which is not transmitted then we should stop looking for more.
    In the current implementation this is not taken care of causing the
    said message.
    
    Also, fix the condition used to find if the packet is transmitted
    or not. Current code skips the first tx message object and ends up
    checking one extra invalid object.
    
    While at it, fix the comment on top of c_can_do_tx() to use the
    terminology "packet" instead of "package" since it is more
    standard.
    
    Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
    Acked-by: Wolfgang Grandegger <wg@grandegger.com>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  16. net: sierra_net: device IDs for Aircard 320U++

    bmork authored and gregkh committed Jun 5, 2012
    commit dd03cff upstream.
    
    Adding device IDs for Aircard 320U and two other devices
    found in the out-of-tree version of this driver.
    
    Cc: linux@sierrawireless.com
    Cc: Autif Khan <autif.mlist@gmail.com>
    Cc: Tom Cassidy <tomas.cassidy@gmail.com>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  17. wireless: rt2x00: rt2800usb more devices were identified

    xosevp authored and gregkh committed Apr 17, 2012
    commit e828b9f upstream.
    
    found in 2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
    
    RT3070:
    (0x2019,0x5201)  Planex Communications, Inc. RT8070
    (0x7392,0x4085)  2L Central Europe BV 8070
    7392 is Edimax
    
    RT35xx:
    (0x1690,0x0761) Askey
    was Fujitsu Stylistic 550, but 1690 is Askey
    
    Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  18. wireless: rt2x00: rt2800usb add more devices ids

    xosevp authored and gregkh committed Apr 16, 2012
    commit 63b3764 upstream.
    
    They were taken from ralink drivers:
    2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO
    2012_03_22_RT5572_Linux_STA_v2.6.0.0_DPO
    
    0x1eda,0x2210 RT3070 Airties
    
    0x083a,0xb511 RT3370 Panasonic
    0x0471,0x20dd RT3370 Philips
    
    0x1690,0x0764 RT35xx Askey
    0x0df6,0x0065 RT35xx Sitecom
    0x0df6,0x0066 RT35xx Sitecom
    0x0df6,0x0068 RT35xx Sitecom
    
    0x2001,0x3c1c RT5370 DLink
    0x2001,0x3c1d RT5370 DLink
    
    2001 is D-Link not Alpha
    
    Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  19. rt2x00: use atomic variable for seqno

    sgruszka authored and gregkh committed Jun 1, 2012
    commit e5851da upstream.
    
    Remove spinlock as atomic_t can be used instead. Note we use only 16
    lower bits, upper bits are changed but we impilcilty cast to u16.
    
    This fix possible deadlock on IBSS mode reproted by lockdep:
    
    =================================
    [ INFO: inconsistent lock state ]
    3.4.0-wl+ #4 Not tainted
    ---------------------------------
    inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
    kworker/u:2/30374 [HC0[0]:SC0[0]:HE1:SE1] takes:
     (&(&intf->seqlock)->rlock){+.?...}, at: [<f9979a20>] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
    {IN-SOFTIRQ-W} state was registered at:
      [<c04978ab>] __lock_acquire+0x47b/0x1050
      [<c0498504>] lock_acquire+0x84/0xf0
      [<c0835733>] _raw_spin_lock+0x33/0x40
      [<f9979a20>] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
      [<f9979f2a>] rt2x00queue_write_tx_frame+0x1a/0x300 [rt2x00lib]
      [<f997834f>] rt2x00mac_tx+0x7f/0x380 [rt2x00lib]
      [<f98fe363>] __ieee80211_tx+0x1b3/0x300 [mac80211]
      [<f98ffdf5>] ieee80211_tx+0x105/0x130 [mac80211]
      [<f99000dd>] ieee80211_xmit+0xad/0x100 [mac80211]
      [<f9900519>] ieee80211_subif_start_xmit+0x2d9/0x930 [mac80211]
      [<c0782e87>] dev_hard_start_xmit+0x307/0x660
      [<c079bb71>] sch_direct_xmit+0xa1/0x1e0
      [<c0784bb3>] dev_queue_xmit+0x183/0x730
      [<c078c27a>] neigh_resolve_output+0xfa/0x1e0
      [<c07b436a>] ip_finish_output+0x24a/0x460
      [<c07b4897>] ip_output+0xb7/0x100
      [<c07b2d60>] ip_local_out+0x20/0x60
      [<c07e01ff>] igmpv3_sendpack+0x4f/0x60
      [<c07e108f>] igmp_ifc_timer_expire+0x29f/0x330
      [<c04520fc>] run_timer_softirq+0x15c/0x2f0
      [<c0449e3e>] __do_softirq+0xae/0x1e0
    irq event stamp: 18380437
    hardirqs last  enabled at (18380437): [<c0526027>] __slab_alloc.clone.3+0x67/0x5f0
    hardirqs last disabled at (18380436): [<c0525ff3>] __slab_alloc.clone.3+0x33/0x5f0
    softirqs last  enabled at (18377616): [<c0449eb3>] __do_softirq+0x123/0x1e0
    softirqs last disabled at (18377611): [<c041278d>] do_softirq+0x9d/0xe0
    
    other info that might help us debug this:
     Possible unsafe locking scenario:
    
           CPU0
           ----
      lock(&(&intf->seqlock)->rlock);
      <Interrupt>
        lock(&(&intf->seqlock)->rlock);
    
     *** DEADLOCK ***
    
    4 locks held by kworker/u:2/30374:
     #0:  (wiphy_name(local->hw.wiphy)){++++.+}, at: [<c045cf99>] process_one_work+0x109/0x3f0
     #1:  ((&sdata->work)){+.+.+.}, at: [<c045cf99>] process_one_work+0x109/0x3f0
     #2:  (&ifibss->mtx){+.+.+.}, at: [<f98f005b>] ieee80211_ibss_work+0x1b/0x470 [mac80211]
     #3:  (&intf->beacon_skb_mutex){+.+...}, at: [<f997a644>] rt2x00queue_update_beacon+0x24/0x50 [rt2x00lib]
    
    stack backtrace:
    Pid: 30374, comm: kworker/u:2 Not tainted 3.4.0-wl+ #4
    Call Trace:
     [<c04962a6>] print_usage_bug+0x1f6/0x220
     [<c0496a12>] mark_lock+0x2c2/0x300
     [<c0495ff0>] ? check_usage_forwards+0xc0/0xc0
     [<c04978ec>] __lock_acquire+0x4bc/0x1050
     [<c0527890>] ? __kmalloc_track_caller+0x1c0/0x1d0
     [<c0777fb6>] ? copy_skb_header+0x26/0x90
     [<c0498504>] lock_acquire+0x84/0xf0
     [<f9979a20>] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
     [<c0835733>] _raw_spin_lock+0x33/0x40
     [<f9979a20>] ? rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
     [<f9979a20>] rt2x00queue_create_tx_descriptor+0x380/0x490 [rt2x00lib]
     [<f997a5cf>] rt2x00queue_update_beacon_locked+0x5f/0xb0 [rt2x00lib]
     [<f997a64d>] rt2x00queue_update_beacon+0x2d/0x50 [rt2x00lib]
     [<f9977e3a>] rt2x00mac_bss_info_changed+0x1ca/0x200 [rt2x00lib]
     [<f9977c70>] ? rt2x00mac_remove_interface+0x70/0x70 [rt2x00lib]
     [<f98e4dd0>] ieee80211_bss_info_change_notify+0xe0/0x1d0 [mac80211]
     [<f98ef7b8>] __ieee80211_sta_join_ibss+0x3b8/0x610 [mac80211]
     [<c0496ab4>] ? mark_held_locks+0x64/0xc0
     [<c0440012>] ? virt_efi_query_capsule_caps+0x12/0x50
     [<f98efb09>] ieee80211_sta_join_ibss+0xf9/0x140 [mac80211]
     [<f98f0456>] ieee80211_ibss_work+0x416/0x470 [mac80211]
     [<c0496d8b>] ? trace_hardirqs_on+0xb/0x10
     [<c077683b>] ? skb_dequeue+0x4b/0x70
     [<f98f207f>] ieee80211_iface_work+0x13f/0x230 [mac80211]
     [<c045cf99>] ? process_one_work+0x109/0x3f0
     [<c045d015>] process_one_work+0x185/0x3f0
     [<c045cf99>] ? process_one_work+0x109/0x3f0
     [<f98f1f40>] ? ieee80211_teardown_sdata+0xa0/0xa0 [mac80211]
     [<c045ed86>] worker_thread+0x116/0x270
     [<c045ec70>] ? manage_workers+0x1e0/0x1e0
     [<c0462f64>] kthread+0x84/0x90
     [<c0462ee0>] ? __init_kthread_worker+0x60/0x60
     [<c083d382>] kernel_thread_helper+0x6/0x10
    
    Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
    Acked-by: Helmut Schaa <helmut.schaa@googlemail.com>
    Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  20. cfg80211: fix interface combinations check

    jmberg authored and gregkh committed Jun 5, 2012
    commit 463454b upstream.
    
    If a given interface combination doesn't contain
    a required interface type then we missed checking
    that and erroneously allowed it even though iface
    type wasn't there at all. Add a check that makes
    sure that all interface types are accounted for.
    
    Reported-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.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@linuxfoundation.org>
  21. ALSA: HDA: Pin fixup for Zotac Z68 motherboard

    David Henningsson authored and gregkh committed Jun 12, 2012
    commit edfe3bf upstream.
    
    Pin 0x1b was connected to the front panel connector, which according to
    the HDA standard should contain a mic and a headphone. In this case,
    the headphone was listed as "line out" by BIOS.
    
    BugLink: https://bugs.launchpad.net/bugs/993162
    Signed-off-by: David Henningsson <david.henningsson@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  22. bcma: add ext PA workaround for BCM4331 and BCM43431

    Seth Forshee authored and gregkh committed Jun 1, 2012
    commit 69aaedd upstream.
    
    MacBook Pro models with BCM4331 wireless have been found to have the ext
    PA lines disabled after resuming from S3 without external power attach.
    This causes them to be unable to transmit. Add a workaround to ensure
    that the ext PA lines are enabled on BCM4331. Also extend all handling
    of ext PA line muxing to BCM43431 as is done in the Broadcom SDK.
    
    BugLink: http://bugs.launchpad.net/bugs/925577
    Cc: Arend van Spriel <arend@broadcom.com>
    Cc: Hauke Mehrtens <hauke@hauke-m.de>
    Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  23. ASoC: wm8994: Apply volume updates with clocks enabled

    broonie authored and gregkh committed Jun 5, 2012
    commit bfd37bb upstream.
    
    Volume updates may not be acted upon if there is no clock applied when
    the volume update is written. Ensure this doesn't happen by writing out
    registers with volume updates after we enable each of the clocks.
    
    There are more registers updated than before as previously we were
    relying on wm_hubs to set those for controls it manages.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  24. ASoC: wm8994: Ensure all AIFnCLK events are run from the _late variants

    broonie authored and gregkh committed Jun 5, 2012
    commit c8fdc1b upstream.
    
    Ensure that all the actions get taken at appropriate times by calling the
    _PRE and _POST events for the aifNclk_ev functions explicitly.
    
    Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  25. mac80211: fix non RCU-safe sta_list manipulation

    ariknem authored and gregkh committed Jun 3, 2012
    commit 794454c upstream.
    
    sta_info_cleanup locks the sta_list using rcu_read_lock however
    the delete operation isn't rcu safe. A race between sta_info_cleanup
    timer being called and a STA being removed can occur which leads
    to a panic while traversing sta_list. Fix this by switching to the
    RCU-safe versions.
    
    Reported-by: Eyal Shapira <eyal@wizery.com>
    Signed-off-by: Arik Nemtsov <arik@wizery.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  26. mac80211: clean up remain-on-channel on interface stop

    jmberg authored and gregkh committed May 31, 2012
    commit 71ecfa1 upstream.
    
    When any interface goes down, it could be the one that we
    were doing a remain-on-channel with. We therefore need to
    cancel the remain-on-channel and flush the related work
    structs so they don't run after the interface has been
    removed or even destroyed.
    
    It's also possible in this case that an off-channel SKB
    was never transmitted, so free it if this is the case.
    Note that this can also happen if the driver finishes
    the off-channel period without ever starting it.
    
    Reported-by: Nirav Shah <nirav.j2.shah@intel.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@linuxfoundation.org>
  27. mac80211: fix error in station state transitions during reconfig

    mvpublicworks authored and gregkh committed May 30, 2012
    commit bd34ab6 upstream.
    
    As part of hardware reconfig mac80211 tries
    to restore the station state to its values
    before the hardware reconfig, but it only
    goes to the last-state - 1. Fix this
    off-by-one error.
    
    Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
    Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.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@linuxfoundation.org>
  28. iwlwifi: disable the buggy chain extension feature in HW

    Emmanuel Grumbach authored and gregkh committed Jun 6, 2012
    commit d012d04 upstream.
    
    This feature has been reported to be buggy and enabled by
    default. We therefore need to disable it manually.
    
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.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@linuxfoundation.org>
  29. iwlwifi: don't mess up the SCD when removing a key

    Emmanuel Grumbach authored and gregkh committed Jun 6, 2012
    commit d6ee27e upstream.
    
    When we remove a key, we put a key index which was supposed
    to tell the fw that we are actually removing the key. But
    instead the fw took that index as a valid index and messed
    up the SRAM of the device.
    
    This memory corruption on the device mangled the data of
    the SCD. The impact on the user is that SCD queue 2 got
    stuck after having removed keys.
    The message is the log that was printed is:
    
    Queue 2 stuck for 10000ms
    
    This doesn't seem to fix the higher queues that get stuck
    from time to time.
    
    Reviewed-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.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@linuxfoundation.org>
  30. iwlwifi: unregister LEDs if mac80211 registration fails

    jmberg authored and gregkh committed Jun 5, 2012
    commit 0e1fa7e upstream.
    
    Otherwise the LEDs stick around and cause issues the
    next time around since they're still there but not
    really hooked up.
    
    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@linuxfoundation.org>
  31. iwlwifi: disable WoWLAN if !CONFIG_PM_SLEEP

    jmberg authored and gregkh committed Jun 4, 2012
    commit fcb6ff5 upstream.
    
    If CONFIG_PM_SLEEP is disabled, then iwlwifi doesn't
    support suspend/resume handlers and thus mac80211
    (correctly) refuses advertising WoWLAN. Disable
    WoWLAN in the driver in this case.
    
    Reported-by: Sebastian Kemper <sebastian_ml@gmx.net>
    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@linuxfoundation.org>
  32. Btrfs: fall back to non-inline if we don't have enough space

    Josef Bacik authored and gregkh committed May 23, 2012
    commit 2adcac1 upstream.
    
    If cow_file_range_inline fails with ENOSPC we abort the transaction which
    isn't very nice.  This really shouldn't be happening anyways but there's no
    sense in making it a horrible error when we can easily just go allocate
    normal data space for this stuff.  Thanks,
    
    Signed-off-by: Josef Bacik <josef@redhat.com>
    Acked-by: Chris Mason <chris.mason@fusionio.com>
    Cc: Alexandre Oliva <oliva@lsd.ic.unicamp.br>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  33. drm/ttm: Fix buffer object metadata accounting regression v2

    thomashvmw authored and gregkh committed Jun 12, 2012
    commit a393c73 upstream.
    
    A regression was introduced in the 3.3 rc series, commit
    "drm/ttm: simplify memory accounting for ttm user v2",
    causing the metadata of buffer objects created using the ttm_bo_create()
    function to be accounted twice.
    That causes massive leaks with the vmwgfx driver running for example
    SpecViewperf Catia-03 test 2, eventually killing the app.
    
    Furthermore, the same commit introduces a regression where
    metadata accounting is leaked if a buffer object is
    initialized with an illegal size. This is also fixed with this commit.
    
    v2: Fixed an error path and removed an unused variable.
    
    Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
    Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  34. crypto: aesni-intel - fix unaligned cbc decrypt for x86-32

    minipli authored and gregkh committed May 29, 2012
    commit 7c8d518 upstream.
    
    The 32 bit variant of cbc(aes) decrypt is using instructions requiring
    128 bit aligned memory locations but fails to ensure this constraint in
    the code. Fix this by loading the data into intermediate registers with
    load unaligned instructions.
    
    This fixes reported general protection faults related to aesni.
    
    References: https://bugzilla.kernel.org/show_bug.cgi?id=43223
    Reported-by: Daniel <garkein@mailueberfall.de>
    Signed-off-by: Mathias Krause <minipli@googlemail.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  35. hwrng: atmel-rng - fix race condition leading to repeated bits

    jacmet authored and gregkh committed May 31, 2012
    commit 121daad upstream.
    
    Data valid gets cleared by reading the ISR (status register) and NOT from
    reading ODATA (data register). A new data word can become available between
    checking ISR and reading ODATA, causing us to reuse the same data word next
    time atmel_trng_read() gets called, if that happens before the following
    data word is ready.
    
    With this fixed, rngtest no longer complains of 'Continous run' errors.
    Before:
    
    rngtest -c 1000 < /dev/hwrng
    rngtest 3
    Copyright (c) 2004 by Henrique de Moraes Holschuh
    This is free software; see the source for copying conditions.  There is NO warr.
    
    rngtest: starting FIPS tests...
    rngtest: bits received from input: 20000032
    rngtest: FIPS 140-2 successes: 923
    rngtest: FIPS 140-2 failures: 77
    rngtest: FIPS 140-2(2001-10-10) Monobit: 0
    rngtest: FIPS 140-2(2001-10-10) Poker: 0
    rngtest: FIPS 140-2(2001-10-10) Runs: 1
    rngtest: FIPS 140-2(2001-10-10) Long run: 0
    rngtest: FIPS 140-2(2001-10-10) Continuous run: 76
    rngtest: input channel speed: (min=721.402; avg=46003.510; max=49321.338)Kibitss
    rngtest: FIPS tests speed: (min=11.442; avg=12.714; max=12.801)Mibits/s
    rngtest: Program run time: 1931860 microseconds
    
    After:
    
    rngtest -c 1000 < /dev/hwrng
    rngtest 3
    Copyright (c) 2004 by Henrique de Moraes Holschuh
    This is free software; see the source for copying conditions.  There is NO warr.
    
    rngtest: starting FIPS tests...
    rngtest: bits received from input: 20000032
    rngtest: FIPS 140-2 successes: 1000
    rngtest: FIPS 140-2 failures: 0
    rngtest: FIPS 140-2(2001-10-10) Monobit: 0
    rngtest: FIPS 140-2(2001-10-10) Poker: 0
    rngtest: FIPS 140-2(2001-10-10) Runs: 0
    rngtest: FIPS 140-2(2001-10-10) Long run: 0
    rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
    rngtest: input channel speed: (min=777.518; avg=36988.482; max=43115.342)Kibitss
    rngtest: FIPS tests speed: (min=11.951; avg=12.715; max=12.887)Mibits/s
    rngtest: Program run time: 2035543 microseconds
    
    Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
    Reported-by: George Pontis <GPontis@z9.com>
    Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>