commit 1b4f4e779fdd53e0e479c08b7f68d0e867f1623b
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Sat Aug 25 19:32:13 2012 -0700

    Linux 3.5.3

commit 16ff8d53da93e20c57e88067a254d3106b7aed5f
Author: Bart Van Assche <bvanassche@acm.org>
Date:   Tue Aug 14 13:18:53 2012 +0000

    IB/srp: Fix a race condition
    
    commit 220329916c72ee3d54ae7262b215a050f04a18fc upstream.
    
    Avoid a crash caused by the scmnd->scsi_done(scmnd) call in
    srp_process_rsp() being invoked with scsi_done == NULL.  This can
    happen if a reply is received during or after a command abort.
    
    Reported-by: Joseph Glanville <joseph.glanville@orionvm.com.au>
    Reference: http://marc.info/?l=linux-rdma&m=134314367801595
    Acked-by: David Dillow <dillowda@ornl.gov>
    Signed-off-by: Bart Van Assche <bvanassche@acm.org>
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 09e0ef11ee0328f1f3c9c47c15347c867994dd9b
Author: Jason Wessel <jason.wessel@windriver.com>
Date:   Sun Aug 12 07:16:43 2012 -0500

    pmac_zilog,kdb: Fix console poll hook to return instead of loop
    
    commit 38f8eefccf3a23c4058a570fa2938a4f553cf8e0 upstream.
    
    kdb <-> kgdb transitioning does not work properly with this UART
    driver because the get character routine loops indefinitely as opposed
    to returning NO_POLL_CHAR per the expectation of the KDB I/O driver
    API.
    
    The symptom is a kernel hang when trying to switch debug modes.
    
    Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b398aa3174cdfd4d85964fa84004e53ce6a13cab
Author: Orit Wasserman <owasserm@redhat.com>
Date:   Wed Aug 15 11:49:05 2012 +0300

    KVM: VMX: Fix KVM_SET_SREGS with big real mode segments
    
    (cherry picked from commit b246dd5df139501b974bd6b28f7815e53b3a792f)
    
    For example migration between Westmere and Nehelem hosts, caught in big real mode.
    
    The code that fixes the segments for real mode guest was moved from enter_rmode
    to vmx_set_segments. enter_rmode calls vmx_set_segments for each segment.
    
    Signed-off-by: Orit Wasserman <owasserm@rehdat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7b2aa2a522ffcc5dee38d3706149d1b46ec55da7
Author: Avi Kivity <avi@redhat.com>
Date:   Wed Aug 15 11:49:04 2012 +0300

    KVM: x86 emulator: fix byte-sized MOVZX/MOVSX
    
    (cherry picked from commit 361cad2b50a2c92b91b6f568db860fabad3bf149)
    
    Commit 2adb5ad9fe1 removed ByteOp from MOVZX/MOVSX, replacing them by
    SrcMem8, but neglected to fix the dependency in the emulation code
    on ByteOp.  This caused the instruction not to have any effect in
    some circumstances.
    
    Fix by replacing the check for ByteOp with the equivalent src.op_bytes == 1.
    
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ad2aeb6108ad34940dcb788bd39c3bb16348e88c
Author: Avi Kivity <avi@redhat.com>
Date:   Wed Aug 15 11:49:03 2012 +0300

    KVM: VMX: Fix ds/es corruption on i386 with preemption
    
    (cherry picked from commit aa67f6096c19bcdb1951ef88be3cf3d2118809dc)
    
    Commit b2da15ac26a0c ("KVM: VMX: Optimize %ds, %es reload") broke i386
    in the following scenario:
    
      vcpu_load
      ...
      vmx_save_host_state
      vmx_vcpu_run
      (ds.rpl, es.rpl cleared by hardware)
    
      interrupt
        push ds, es  # pushes bad ds, es
        schedule
          vmx_vcpu_put
            vmx_load_host_state
              reload ds, es (with __USER_DS)
        pop ds, es  # of other thread's stack
        iret
      # other thread runs
      interrupt
        push ds, es
        schedule  # back in vcpu thread
        pop ds, es  # now with rpl=0
        iret
      ...
      vcpu_put
      resume_userspace
      iret  # clears ds, es due to mismatched rpl
    
    (instead of resume_userspace, we might return with SYSEXIT and then
    take an exception; when the exception IRETs we end up with cleared
    ds, es)
    
    Fix by avoiding the optimization on i386 and reloading ds, es on the
    lightweight exit path.
    
    Reported-by: Chris Clayron <chris2553@googlemail.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0ad5ec517eab8686580de44007d3af1f0e4bf423
Author: Bruce Rogers <brogers@suse.com>
Date:   Wed Aug 15 11:49:02 2012 +0300

    KVM: x86: apply kvmclock offset to guest wall clock time
    
    (cherry picked from commit 4b6486659a7defef82ea51b276024b3aa357fefc)
    
    When a guest migrates to a new host, the system time difference from the
    previous host is used in the updates to the kvmclock system time visible
    to the guest, resulting in a continuation of correct kvmclock based guest
    timekeeping.
    
    The wall clock component of the kvmclock provided time is currently not
    updated with this same time offset. Since the Linux guest caches the
    wall clock based time, this discrepency is not noticed until the guest is
    rebooted. After reboot the guest's time calculations are off.
    
    This patch adjusts the wall clock by the kvmclock_offset, resulting in
    correct guest time after a reboot.
    
    Cc: Zachary Amsden <zamsden@gmail.com>
    Signed-off-by: Bruce Rogers <brogers@suse.com>
    Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3d359b341ee48bc65c9d1a71a0f4ad20943e78da
Author: Gleb Natapov <gleb@redhat.com>
Date:   Wed Aug 15 11:49:01 2012 +0300

    KVM: PIC: call ack notifiers for irqs that are dropped form irr
    
    (cherry picked from commit aea218f3cbbcaac249b6b2c98930a00d6d931f1e)
    
    After commit 242ec97c358256 PIT interrupts are no longer delivered after
    PIC reset. It happens because PIT injects interrupt only if previous one
    was acked, but since on PIC reset it is dropped from irr it will never
    be delivered and hence acknowledged. Fix that by calling ack notifier on
    PIC reset.
    
    Signed-off-by: Gleb Natapov <gleb@redhat.com>
    Signed-off-by: Avi Kivity <avi@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dc46dafd7deb1e0057bb9c8b2f8de168c56034db
Author: Jeongdo Son <sohn9086@gmail.com>
Date:   Fri Jun 15 02:28:01 2012 +0900

    rt2x00: Add support for BUFFALO WLI-UC-GNM2 to rt2800usb.
    
    commit a769f9577232afe2c754606a83aad85127e7052a upstream.
    
    This is a RT3070 based device.
    
    Signed-off-by: Jeongdo Son <sohn9086@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4c676a8339aef554c98cbe0e4c4b711627bcf148
Author: Michael Grzeschik <m.grzeschik@pengutronix.de>
Date:   Wed Aug 8 11:48:10 2012 +0200

    usb: gadget: u_ether: fix kworker 100% CPU issue with still used interfaces in eth_stop
    
    commit b1b552a69b8805e7e338074a9e8b670b4a795218 upstream.
    
    This patch fixes an issue introduced by patch:
    
        72c973d usb: gadget: add usb_endpoint_descriptor to struct usb_ep
    
    Without this patch we see a kworker taking 100% CPU, after this sequence:
    
    - Connect gadget to a windows host
    - load g_ether
    - ifconfig up <ip>; ifconfig down; ifconfig up
    - ping <windows host>
    
    The "ifconfig down" results in calling eth_stop(), which will call
    usb_ep_disable() and, if the carrier is still ok, usb_ep_enable():
    
             usb_ep_disable(link->in_ep);
             usb_ep_disable(link->out_ep);
             if (netif_carrier_ok(net)) {
                     usb_ep_enable(link->in_ep);
                     usb_ep_enable(link->out_ep);
             }
    
    The ep should stay enabled, but will not, as ep_disable set the desc
    pointer to NULL, therefore the subsequent ep_enable will fail. This leads
    to permanent rescheduling of the eth_work() worker as usb_ep_queue()
    (called by the worker) will fail due to the unconfigured endpoint.
    
    We fix this issue by saving the ep descriptors and re-assign them before
    usb_ep_enable().
    
    Cc: Tatyana Brokhman <tlinder@codeaurora.org>
    Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
    Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c78b6be08e09f28801116a7098fc298131deb426
Author: Mark Ferrell <mferrell@uplogix.com>
Date:   Tue Jul 24 14:15:13 2012 -0500

    usb: serial: mos7840: Fixup mos7840_chars_in_buffer()
    
    commit 5c263b92f828af6a8cf54041db45ceae5af8f2ab upstream.
    
     * Use the buffer content length as opposed to the total buffer size.  This can
       be a real problem when using the mos7840 as a usb serial-console as all
       kernel output is truncated during boot.
    
    Signed-off-by: Mark Ferrell <mferrell@uplogix.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d92614d61442853839a574450761defd18b0d5d3
Author: Ozan Çağlayan <ozancag@gmail.com>
Date:   Fri Aug 10 17:25:10 2012 +0300

    USB: ftdi_sio: Add VID/PID for Kondo Serial USB
    
    commit 7724a1edbe463b06d4e7831a41149ba095b16c53 upstream.
    
    This adds VID/PID for Kondo Kagaku Co. Ltd. Serial USB Adapter
    interface:
    http://www.kondo-robot.com/EN/wp/?cat=28
    
    Tested by controlling an RCB3 board using libRCB3.
    
    Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit f6cda41da92ece3b247bd5ece581afe4e8868eb0
Author: Bjørn Mork <bjorn@mork.no>
Date:   Wed Aug 15 15:43:33 2012 +0200

    USB: option: add ZTE K5006-Z
    
    commit f1b5c997e68533df1f96dcd3068a231bca495603 upstream.
    
    The ZTE (Vodafone) K5006-Z use the following
    interface layout:
    
    00 DIAG
    01 secondary
    02 modem
    03 networkcard
    04 storage
    
    Ignoring interface #3 which is handled by the qmi_wwan
    driver.
    
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Cc: Thomas Schäfer <tschaefer@t-online.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ce970c19f37d00f36d39ae70078ecaa44670ec29
Author: fangxiaozhi <huananhu@huawei.com>
Date:   Wed Aug 8 09:24:45 2012 +0000

    USB: support the new interfaces of Huawei Data Card devices in option driver
    
    commit ee6f827df9107139e8960326e49e1376352ced4d upstream.
    
    In this patch, we add new declarations into option.c to support the new
    interfaces of Huawei Data Card devices. And at the same time, remove the
    redundant declarations from option.c.
    
    Signed-off-by: fangxiaozhi <huananhu@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7b2ae8a339e28c61b5ec9b071ed40641538bf28c
Author: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Date:   Tue Jul 10 19:10:06 2012 -0300

    USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
    
    commit d81a5d1956731c453b85c141458d4ff5d6cc5366 upstream.
    
    A lot of Broadcom Bluetooth devices provides vendor specific interface
    class and we are getting flooded by patches adding new device support.
    This change will help us enable support for any other Broadcom with vendor
    specific device that arrives in the future.
    
    Only the product id changes for those devices, so this macro would be
    perfect for us:
    
    { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) }
    
    Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
    Acked-by: Henrik Rydberg <rydberg@bitmath.se>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c8d54c4c73b719db5cb977b61d14bc0c184050f3
Author: Ian Abbott <abbotti@mev.co.uk>
Date:   Tue Aug 14 11:29:17 2012 +0100

    staging: comedi: Fix reversed test in comedi_device_attach()
    
    commit 80eb7a506fdcea08f86c9dfc7c638303bf02a3c8 upstream.
    
    Commit 3902a370281d2f2b130f141e8cf94eab40125769 (staging: comedi:
    refactor comedi_device_attach() a bit) by yours truly introduced an
    inverted logic bug in comedi_device_attach() for the case where the
    driver expects the device to be configured by driver name rather than
    board name.  The result of a strcmp() is being tested incorrectly.  Fix
    it.
    
    Thanks to Stephen N Chivers for discovering the bug and suggesting the
    fix.
    
    Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 10eac236981c501f74682f122037021acd6a452b
Author: Jim Cromie <jim.cromie@gmail.com>
Date:   Thu Jul 19 13:46:21 2012 -0600

    drivers-core: make structured logging play nice with dynamic-debug
    
    commit af7f2158fdee9d7f55b793b09f8170a3391f889a upstream.
    
    commit c4e00daaa96d3a0786f1f4fe6456281c60ef9a16 changed __dev_printk
    in a way that broke dynamic-debug's ability to control the dynamic
    prefix of dev_dbg(dev,..), but not dev_dbg(NULL,..) or pr_debug(..),
    which is why it wasnt noticed sooner.
    
    When dev==NULL, __dev_printk() just calls printk(), which just works.
    But otherwise, it assumed that level was always a string like "<L>"
    and just plucked out the 'L', ignoring the rest.  However,
    dynamic_emit_prefix() adds "[tid] module:func:line:" to the string,
    those additions all got lost.
    
    Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
    Acked-by: Jason Baron <jbaron@redhat.com>
    Cc: Kay Sievers <kay.sievers@vrfy.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c473b3fed228da45c7323f45e8e7f00b345212b9
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Thu Jul 26 12:03:59 2012 -0700

    xhci: Fix bug after deq ptr set to link TRB.
    
    commit 50d0206fcaea3e736f912fd5b00ec6233fb4ce44 upstream.
    
    This patch fixes a particularly nasty bug that was revealed by the ring
    expansion patches.  The bug has been present since the very beginning of
    the xHCI driver history, and could have caused general protection faults
    from bad memory accesses.
    
    The first thing to note is that a Set TR Dequeue Pointer command can
    move the dequeue pointer to a link TRB, if the canceled or stalled
    transfer TD ended just before a link TRB.  The function to increment the
    dequeue pointer, inc_deq, was written before cancellation and stall
    support was added.  It assumed that the dequeue pointer could never
    point to a link TRB.  It would unconditionally increment the dequeue
    pointer at the start of the function, check if the pointer was now on a
    link TRB, and move it to the top of the next segment if so.
    
    This means that if a Set TR Dequeue Point command moved the dequeue
    pointer to a link TRB, a subsequent call to inc_deq() would move the
    pointer off the segment and into la-la-land.  It would then read from
    that memory to determine if it was a link TRB.  Other functions would
    often call inc_deq() until the dequeue pointer matched some other
    pointer, which means this function would quite happily read all of
    system memory before wrapping around to the right pointer value.
    
    Often, there would be another endpoint segment from a different ring
    allocated from the same DMA pool, which would be contiguous to the
    segment inc_deq just stepped off of.  inc_deq would eventually find the
    link TRB in that segment, and blindly move the dequeue pointer back to
    the top of the correct ring segment.
    
    The only reason the original code worked at all is because there was
    only one ring segment.  With the ring expansion patches, the dequeue
    pointer would eventually wrap into place, but the dequeue segment would
    be out-of-sync.  On the second TD after the dequeue pointer was moved to
    a link TRB, trb_in_td() would fail (because the dequeue pointer and
    dequeue segment were out-of-sync), and this message would appear:
    
    ERROR Transfer event TRB DMA ptr not part of current TD
    
    This fixes bugzilla entry 4333 (option-based modem unhappy on USB 3.0
    port: "Transfer event TRB DMA ptr not part of current TD", "rejecting
    I/O to offline device"),
    
    	https://bugzilla.kernel.org/show_bug.cgi?id=43333
    
    and possibly other general protection fault bugs as well.
    
    This patch should be backported to kernels as old as 2.6.31.  A separate
    patch will be created for kernels older than 3.4, since inc_deq was
    modified in 3.4 and this patch will not apply.
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: James Ettle <theholyettlz@googlemail.com>
    Tested-by: Matthew Hall <mhall@mhcomputing.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3f2a80aa69571ca931e064eb2582939b70c2f109
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Mon Jul 23 18:59:30 2012 +0300

    xhci: Switch PPT ports to EHCI on shutdown.
    
    commit e95829f474f0db3a4d940cae1423783edd966027 upstream.
    
    The Intel desktop boards DH77EB and DH77DF have a hardware issue that
    can be worked around by BIOS.  If the USB ports are switched to xHCI on
    shutdown, the xHCI host will send a spurious interrupt, which will wake
    the system.  Some BIOS will work around this, but not all.
    
    The bug can be avoided if the USB ports are switched back to EHCI on
    shutdown.  The Intel Windows driver switches the ports back to EHCI, so
    change the Linux xHCI driver to do the same.
    
    Unfortunately, we can't tell the two effected boards apart from other
    working motherboards, because the vendors will change the DMI strings
    for the DH77EB and DH77DF boards to their own custom names.  One example
    is Compulab's mini-desktop, the Intense-PC.  Instead, key off the
    Panther Point xHCI host PCI vendor and device ID, and switch the ports
    over for all PPT xHCI hosts.
    
    The only impact this will have on non-effected boards is to add a couple
    hundred milliseconds delay on boot when the BIOS has to switch the ports
    over from EHCI to xHCI.
    
    This patch should be backported to kernels as old as 3.0, that contain
    the commit 69e848c2090aebba5698a1620604c7dccb448684 "Intel xhci: Support
    EHCI/xHCI port switching."
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reported-by: Denis Turischev <denis@compulab.co.il>
    Tested-by: Denis Turischev <denis@compulab.co.il>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 66dc0e0dd7fabc28ad2ecafdff41c79bb8bc1c5b
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Mon Jul 23 16:06:08 2012 -0700

    xhci: Increase reset timeout for Renesas 720201 host.
    
    commit 22ceac191211cf6688b1bf6ecd93c8b6bf80ed9b upstream.
    
    The NEC/Renesas 720201 xHCI host controller does not complete its reset
    within 250 milliseconds.  In fact, it takes about 9 seconds to reset the
    host controller, and 1 second for the host to be ready for doorbell
    rings.  Extend the reset and CNR polling timeout to 10 seconds each.
    
    This patch should be backported to kernels as old as 2.6.31, that
    contain the commit 66d4eadd8d067269ea8fead1a50fe87c2979a80d "USB: xhci:
    BIOS handoff and HW initialization."
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reported-by: Edwin Klein Mentink <e.kleinmentink@zonnet.nl>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 11ec1f5e2760b99ccacc61aed95e619d2b4f9930
Author: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Date:   Mon Jul 2 13:36:23 2012 -0700

    xhci: Add Etron XHCI_TRUST_TX_LENGTH quirk.
    
    commit 5cb7df2b2d3afee7638b3ef23a5bcb89c6f07bd9 upstream.
    
    Gary reports that with recent kernels, he notices more xHCI driver
    warnings:
    
    xhci_hcd 0000:03:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk?
    
    We think his Etron xHCI host controller may have the same buggy behavior
    as the Fresco Logic xHCI host.  When a short transfer is received, the
    host will mark the transfer as successfully completed when it should be
    marking it with a short completion.
    
    Fix this by turning on the XHCI_TRUST_TX_LENGTH quirk when the Etron
    host is discovered.  Note that Gary has revision 1, but if Etron fixes
    this bug in future revisions, the quirk will have no effect.
    
    This patch should be backported to kernels as old as 2.6.36, that
    contain a backported version of commit
    1530bbc6272d9da1e39ef8e06190d42c13a02733 "xhci: Add new short TX quirk
    for Fresco Logic host."
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reported-by: Gary E. Miller <gem@rellim.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2cd45bebc56a1da8c0515933543d0da97e512bef
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Fri Aug 17 08:54:52 2012 -0400

    ext4: fix kernel BUG on large-scale rm -rf commands
    
    commit 89a4e48f8479f8145eca9698f39fe188c982212f upstream.
    
    Commit 968dee7722: "ext4: fix hole punch failure when depth is greater
    than 0" introduced a regression in v3.5.1/v3.6-rc1 which caused kernel
    crashes when users ran run "rm -rf" on large directory hierarchy on
    ext4 filesystems on RAID devices:
    
        BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
    
        Process rm (pid: 18229, threadinfo ffff8801276bc000, task ffff880123631710)
        Call Trace:
         [<ffffffff81236483>] ? __ext4_handle_dirty_metadata+0x83/0x110
         [<ffffffff812353d3>] ext4_ext_truncate+0x193/0x1d0
         [<ffffffff8120a8cf>] ? ext4_mark_inode_dirty+0x7f/0x1f0
         [<ffffffff81207e05>] ext4_truncate+0xf5/0x100
         [<ffffffff8120cd51>] ext4_evict_inode+0x461/0x490
         [<ffffffff811a1312>] evict+0xa2/0x1a0
         [<ffffffff811a1513>] iput+0x103/0x1f0
         [<ffffffff81196d84>] do_unlinkat+0x154/0x1c0
         [<ffffffff8118cc3a>] ? sys_newfstatat+0x2a/0x40
         [<ffffffff81197b0b>] sys_unlinkat+0x1b/0x50
         [<ffffffff816135e9>] system_call_fastpath+0x16/0x1b
        Code: 8b 4d 20 0f b7 41 02 48 8d 04 40 48 8d 04 81 49 89 45 18 0f b7 49 02 48 83 c1 01 49 89 4d 00 e9 ae f8 ff ff 0f 1f 00 49 8b 45 28 <48> 8b 40 28 49 89 45 20 e9 85 f8 ff ff 0f 1f 80 00 00 00
    
        RIP  [<ffffffff81233164>] ext4_ext_remove_space+0xa34/0xdf0
    
    This could be reproduced as follows:
    
    The problem in commit 968dee7722 was that caused the variable 'i' to
    be left uninitialized if the truncate required more space than was
    available in the journal.  This resulted in the function
    ext4_ext_truncate_extend_restart() returning -EAGAIN, which caused
    ext4_ext_remove_space() to restart the truncate operation after
    starting a new jbd2 handle.
    
    Reported-by: Maciej Żenczykowski <maze@google.com>
    Reported-by: Marti Raudsepp <marti@juffo.org>
    Tested-by: Fengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e1a2e15bd925ff7bac6acc62788f517746abd1e3
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Thu Aug 16 11:59:04 2012 -0400

    ext4: fix long mount times on very big file systems
    
    commit 0548bbb85337e532ca2ed697c3e9b227ff2ed4b4 upstream.
    
    Commit 8aeb00ff85a: "ext4: fix overhead calculation used by
    ext4_statfs()" introduced a O(n**2) calculation which makes very large
    file systems take forever to mount.  Fix this with an optimization for
    non-bigalloc file systems.  (For bigalloc file systems the overhead
    needs to be set in the the superblock.)
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e05ea717652a0ce1a2cf8729535ac90c5aee6734
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Fri Aug 10 13:57:52 2012 -0400

    ext4: don't call ext4_error while block group is locked
    
    commit 7a4c5de27efa4c2ecca87af0a3deea63446367e2 upstream.
    
    While in ext4_validate_block_bitmap(), if an block allocation bitmap
    is found to be invalid, we call ext4_error() while the block group is
    still locked.  This causes ext4_commit_super() to call a function
    which might sleep while in an atomic context.
    
    There's no need to keep the block group locked at this point, so hoist
    the ext4_error() call up to ext4_validate_block_bitmap() and release
    the block group spinlock before calling ext4_error().
    
    The reported stack trace can be found at:
    
    	http://article.gmane.org/gmane.comp.file-systems.ext4/33731
    
    Reported-by: Dave Jones <davej@redhat.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dfceb2c4729c987c7c2956158c2d2dc35fa33e0e
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Sun Aug 5 23:28:16 2012 -0400

    ext4: avoid kmemcheck complaint from reading uninitialized memory
    
    commit 7e731bc9a12339f344cddf82166b82633d99dd86 upstream.
    
    Commit 03179fe923 introduced a kmemcheck complaint in
    ext4_da_get_block_prep() because we save and restore
    ei->i_da_metadata_calc_last_lblock even though it is left
    uninitialized in the case where i_da_metadata_calc_len is zero.
    
    This doesn't hurt anything, but silencing the kmemcheck complaint
    makes it easier for people to find real bugs.
    
    Addresses https://bugzilla.kernel.org/show_bug.cgi?id=45631
    (which is marked as a regression).
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3aff1c9600c439560dd25cb516fc1a1c3821e477
Author: Theodore Ts'o <tytso@mit.edu>
Date:   Sun Aug 5 19:04:57 2012 -0400

    ext4: make sure the journal sb is written in ext4_clear_journal_err()
    
    commit d796c52ef0b71a988364f6109aeb63d79c5b116b upstream.
    
    After we transfer set the EXT4_ERROR_FS bit in the file system
    superblock, it's not enough to call jbd2_journal_clear_err() to clear
    the error indication from journal superblock --- we need to call
    jbd2_journal_update_sb_errno() as well.  Otherwise, when the root file
    system is mounted read-only, the journal is replayed, and the error
    indicator is transferred to the superblock --- but the s_errno field
    in the jbd2 superblock is left set (since although we cleared it in
    memory, we never flushed it out to disk).
    
    This can end up confusing e2fsck.  We should make e2fsck more robust
    in this case, but the kernel shouldn't be leaving things in this
    confused state, either.
    
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 67dd44b1ec0de935b8ad962e00ee8da44d67fc28
Author: Kees Cook <keescook@chromium.org>
Date:   Wed Aug 15 11:41:55 2012 -0700

    Yama: access task_struct->comm directly
    
    commit 7612bfeecc197bbb6629842b5c6ff1967f0a9b70 upstream.
    
    The core ptrace access checking routine holds a task lock, and when
    reporting a failure, Yama takes a separate task lock. To avoid a
    potential deadlock with two ptracers taking the opposite locks, do not
    use get_task_comm() and just use ->comm directly since accuracy is not
    important for the report.
    
    Reported-by: Fengguang Wu <fengguang.wu@intel.com>
    Suggested-by: Oleg Nesterov <oleg@redhat.com>
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: John Johansen <john.johansen@canonical.com>
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2069c08ae4d4c75582b7ed2ddd60fc3c32dfde15
Author: Marek Olšák <maraeo@gmail.com>
Date:   Sun Jul 29 16:24:57 2012 +0200

    drm/radeon/kms: allow "invalid" DB formats as a means to disable DB
    
    commit 0f457e488c79922dfd646f94ed058764f7ba758c upstream.
    
    Signed-off-by: Marek Olšák <maraeo@gmail.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 64f3c37a404cc213d89b2c6c453bd6d5e18c31ac
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Jul 31 11:01:10 2012 -0400

    drm/radeon: fix bank tiling parameters on evergreen
    
    commit c8d15edc17d836686d1f071e564800e1a2724fa6 upstream.
    
    Handle the 16 bank case.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit b2f0794b1ecb27a8aba6921a650aec0943d6637d
Author: Christian König <deathsimple@vodafone.de>
Date:   Tue Jul 31 13:48:51 2012 +0200

    drm/radeon: fix bank tiling parameters on SI
    
    commit dca571a6a4edda1f61ba7ecb47431a22245490a3 upstream.
    
    The sixteen bank case wasn't handled here, leading to GPU
    crashes because of userspace miscalculation.
    
    Signed-off-by: Christian König <deathsimple@vodafone.de>
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c66ff09806c855f86dcd5af1f8a798d52867800e
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Tue Jul 31 11:05:11 2012 -0400

    drm/radeon: fix bank tiling parameters on cayman
    
    commit 5b23c9045a8b61352986270b2d109edf5085e113 upstream.
    
    Handle the 16 bank case.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit e5c303c35012766360fb0032c32d840c817996b6
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Mon Aug 6 10:03:59 2012 -0400

    drm/radeon: add some new SI pci ids
    
    commit 2f292004dd1fb005788dc0a9cdd5559812ed866e upstream.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 4267ea6bdb984ecda4aa042136e167944a397934
Author: Hunt Xu <mhuntxu@gmail.com>
Date:   Sun Jul 1 03:45:07 2012 +0000

    drm/i915: make rc6 in sysfs functions conditional
    
    commit 5ab3633d6907018b0b830a720e877c3884d679c3 upstream.
    
    Commit 0136db586c028f71e7cc21cc183064ff0d5919c8 merges rc6 information
    into the power group. However, when compiled with CONFIG_PM not set,
    modprobing i915 would taint since power_group_name is defined as NULL.
    
    This patch makes these rc6 in sysfs functions conditional upon the
    definition of the CONFIG_PM macro to avoid the above-mentioned problem.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45181
    Tested-by: Kris Karas <bugs-a12@moonlit-rail.com>
    Signed-off-by: Hunt Xu <mhuntxu@gmail.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 375849ce878f1a2dfac12ea2a62b361ab6b7f9a5
Author: Jerome Glisse <jglisse@redhat.com>
Date:   Fri Jul 27 16:32:24 2012 -0400

    drm/radeon: do not reenable crtc after moving vram start address
    
    commit 81ee8fb6b52ec69eeed37fe7943446af1dccecc5 upstream.
    
    It seems we can not update the crtc scanout address. After disabling
    crtc, update to base address do not take effect after crtc being
    reenable leading to at least frame being scanout from the old crtc
    base address. Disabling crtc display request lead to same behavior.
    
    So after changing the vram address if we don't keep crtc disabled
    we will have the GPU trying to read some random system memory address
    with some iommu this will broke the crtc engine and will lead to
    broken display and iommu error message.
    
    So to avoid this, disable crtc. For flicker less boot we will need
    to avoid moving the vram start address.
    
    This patch should also fix :
    
    https://bugs.freedesktop.org/show_bug.cgi?id=42373
    
    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9b8c9aa9c5c2caba7163883a2a1213f5f2a3d516
Author: Alex Deucher <alexander.deucher@amd.com>
Date:   Thu Jul 26 13:38:52 2012 -0400

    drm/radeon: properly handle crtc powergating
    
    commit 6c0ae2ab85fc4a95cae82047a7db1f688a7737ab upstream.
    
    Need to make sure the crtc is gated on before modesetting.
    Explicitly gate the crtc on in prepare() and set a flag
    so that the dpms functions don't gate it off during
    mode set.
    
    Noticed by sylware on IRC.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 8cb97b1434fc3d150ef954f959e0c27c21ca2790
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sun Aug 12 22:17:14 2012 +0200

    drm/i915: reorder edp disabling to fix ivb MacBook Air
    
    commit 35a38556d900b9cb5dfa2529c93944b847f8a8a4 upstream.
    
    eDP is tons of fun. It turns out that at least the new MacBook Air 5,1
    model absolutely doesn't like the new force vdd dance we've introduced
    in
    
    commit 6cb49835da0426f69a2931bc2a0a8156344b0e41
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Sun May 20 17:14:50 2012 +0200
    
        drm/i915: enable vdd when switching off the eDP panel
    
    But that patch also tried to fix some neat edp sequence issue with the
    force_vdd timings. Closer inspection reveals that we've raised
    force_vdd only to do the aux channel communication dp_sink_dpms. If we
    move the edp_panel_off below that, we don't need any force_vdd for the
    disable sequence, which makes the Air happy.
    
    Unfortunately the reporter of the original bug that the above commit
    fixed is travelling, so we can't test whether this regresses things.
    But my theory is that since we don't check for any power-off ->
    force_vdd-on delays in edp_panel_vdd_on, this was the actual
    root-cause of this failure. With that force_vdd dance completely
    eliminated, I'm hopeful the original bug stays fixed, too.
    
    For reference the old bug, which hopefully doesn't get broken by this:
    
    https://bugzilla.kernel.org/show_bug.cgi?id=43163
    
    In any case, regression fixers win over plain bugfixes, so this needs
    to go in asap.
    
    v2: The crucial pieces seems to be to clear the force_vdd flag
    uncoditionally, too, in edp_panel_off. Looks like this is left behind
    by the firmware somehow.
    
    v3: The Apple firmware seems to switch off the panel on it's own, hence
    we still need to keep force_vdd on, but properly clear it when switching
    the panel off.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45671
    Tested-by: Roberto Romer <sildurin@gmail.com>
    Tested-by: Daniel Wagner <wagi@monom.org>
    Tested-by: Keith Packard <keithp@keithp.com>
    Cc: Keith Packard <keithp@keithp.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 33fbdc047b30be3781d0b861adb6ef96fa052355
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Aug 10 11:10:20 2012 +0200

    drm/i915: ignore eDP bpc settings from vbt
    
    commit 4344b813f105a19f793f1fd93ad775b784648b95 upstream.
    
    This has originally been introduced to not oversubscribe the dp links
    in
    
    commit 885a5fb5b120a5c7e0b3baad7b0feb5a89f76c18
    Author: Zhenyu Wang <zhenyuw@linux.intel.com>
    Date:   Tue Jan 12 05:38:31 2010 +0800
    
        drm/i915: fix pixel color depth setting on eDP
    
    Since then we've fixed up the dp link bandwidth calculation code and
    should now automatically fall back to 6bpc dithering. So this is
    unnecessary.
    
    Furthermore it seems to break the new MacbookPro with retina display,
    hence let's just rip this out.
    
    Reported-by: Benoit Gschwind <gschwind@gnu-log.net>
    Cc: Benoit Gschwind <gschwind@gnu-log.net>
    Cc: Francois Rigaut <frigaut@gmail.com>
    Tested-by: Benoit Gschwind <gschwind@gnu-log.net>
    Tested-by: Bernhard Froemel <froemel at vmars tuwien.ac.at>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    
    --
    
    Testing feedback highgly welcome, and thanks for Benoit for finding
    out that the bpc computations are busted.
    -Daniel

commit 622ecb9ace2ec006b58f6779732961945ea303ca
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Tue Aug 7 09:54:14 2012 +0200

    drm/i915: correctly order the ring init sequence
    
    commit 0d8957c8a90bbb5d34fab9a304459448a5131e06 upstream.
    
    We may only start to set up the new register values after having
    confirmed that the ring is truely off. Otherwise the hw might lose the
    newly written register values. This is caught later on in the init
    sequence, when we check whether the register writes have stuck.
    
    Reviewed-by: Jani Nikula <jani.nikula@intel.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50522
    Tested-by: Yang Guang <guang.a.yang@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c26be8506daa2b7ec7a2a2d99882a0a71b25753e
Author: Christoph Bumiller <e0425955@student.tuwien.ac.at>
Date:   Thu Jul 26 20:53:19 2012 +0200

    drm/nvd0/disp: mask off high 16 bit of negative cursor x-coordinate
    
    commit af5e7d84b0ec45b2b614b0d6e3657cbdceaa21f9 upstream.
    
    Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 2a76966382c049fe15b9f34d4e495cdc9d2c6e9f
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Thu Jun 21 15:13:50 2012 -0700

    drm/i915: prefer wide & slow to fast & narrow in DP configs
    
    commit 2514bc510d0c3aadcc5204056bb440fa36845147 upstream.
    
    High frequency link configurations have the potential to cause trouble
    with long and/or cheap cables, so prefer slow and wide configurations
    instead.  This patch has the potential to cause trouble for eDP
    configurations that lie about available lanes, so if we run into that we
    can make it conditional on eDP.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45801
    Tested-by: peter@colberg.org
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Jonathan Nieder <jrnieder@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit ea61fc0a1b30955583ad797ff3f3cb5634d8f125
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date:   Mon Jul 30 10:18:05 2012 -0400

    xen/p2m: Reserve 8MB of _brk space for P2M leafs when populating back.
    
    commit 5bc6f9888db5739abfa0cae279b4b442e4db8049 upstream.
    
    When we release pages back during bootup:
    
    Freeing  9d-100 pfn range: 99 pages freed
    Freeing  9cf36-9d0d2 pfn range: 412 pages freed
    Freeing  9f6bd-9f6bf pfn range: 2 pages freed
    Freeing  9f714-9f7bf pfn range: 171 pages freed
    Freeing  9f7e0-9f7ff pfn range: 31 pages freed
    Freeing  9f800-100000 pfn range: 395264 pages freed
    Released 395979 pages of unused memory
    
    We then try to populate those pages back. In the P2M tree however
    the space for those leafs must be reserved - as such we use extend_brk.
    We reserve 8MB of _brk space, which means we can fit over
    1048576 PFNs - which is more than we should ever need.
    
    Without this, on certain compilation of the kernel we would hit:
    
    (XEN) domain_crash_sync called from entry.S
    (XEN) CPU:    0
    (XEN) RIP:    e033:[<ffffffff818aad3b>]
    (XEN) RFLAGS: 0000000000000206   EM: 1   CONTEXT: pv guest
    (XEN) rax: ffffffff81a7c000   rbx: 000000000000003d   rcx: 0000000000001000
    (XEN) rdx: ffffffff81a7b000   rsi: 0000000000001000   rdi: 0000000000001000
    (XEN) rbp: ffffffff81801cd8   rsp: ffffffff81801c98   r8:  0000000000100000
    (XEN) r9:  ffffffff81a7a000   r10: 0000000000000001   r11: 0000000000000003
    (XEN) r12: 0000000000000004   r13: 0000000000000004   r14: 000000000000003d
    (XEN) r15: 00000000000001e8   cr0: 000000008005003b   cr4: 00000000000006f0
    (XEN) cr3: 0000000125803000   cr2: 0000000000000000
    (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: e02b   cs: e033
    (XEN) Guest stack trace from rsp=ffffffff81801c98:
    
    .. which is extend_brk hitting a BUG_ON.
    
    Interestingly enough, most of the time we are not going to hit this
    b/c the _brk space is quite large (v3.5):
     ffffffff81a25000 B __brk_base
     ffffffff81e43000 B __brk_limit
    = ~4MB.
    
    vs earlier kernels (with this back-ported), the space is smaller:
     ffffffff81a25000 B __brk_base
     ffffffff81a7b000 B __brk_limit
    = 344 kBytes.
    
    where we would certainly hit this and hit extend_brk.
    
    Note that git commit c3d93f880197953f86ab90d9da4744e926b38e33
    (xen: populate correct number of pages when across mem boundary (v2))
    exposed this bug).
    
    [v1: Made it 8MB of _brk space instead of 4MB per Jan's suggestion]
    
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 266e2dde9ef16eb855f2566f018580c7abd90ddd
Author: Zach Brown <zab@redhat.com>
Date:   Tue Jul 24 12:10:11 2012 -0700

    fuse: verify all ioctl retry iov elements
    
    commit fb6ccff667712c46b4501b920ea73a326e49626a upstream.
    
    Commit 7572777eef78ebdee1ecb7c258c0ef94d35bad16 attempted to verify that
    the total iovec from the client doesn't overflow iov_length() but it
    only checked the first element.  The iovec could still overflow by
    starting with a small element.  The obvious fix is to check all the
    elements.
    
    The overflow case doesn't look dangerous to the kernel as the copy is
    limited by the length after the overflow.  This fix restores the
    intention of returning an error instead of successfully copying less
    than the iovec represented.
    
    I found this by code inspection.  I built it but don't have a test case.
    I'm cc:ing stable because the initial commit did as well.
    
    Signed-off-by: Zach Brown <zab@redhat.com>
    Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 6cb4d277c566acef7604799c832fa777e23b3cc0
Author: Fabio Estevam <festevam@gmail.com>
Date:   Tue Jul 3 15:33:29 2012 -0300

    dma: imx-dma: Fix kernel crash due to missing clock conversion
    
    commit a2367db2ec5e7fc6fe93e221e0fcdee81b053daf upstream.
    
    With the new i.MX clock infrastructure we need to request the dma clocks
    seperately: ahb and ipg clocks.
    
    This fixes the following kernel crash and make audio to be functional again:
    
    root@freescale /home$ aplay audio48k16S.wav
    Playing WAVE 'audio48k16S.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = c7b74000
    [00000000] *pgd=a7bb5831, *pte=00000000, *ppte=00000000
    Internal error: Oops: 17 [#1] PREEMPT ARM
    Modules linked in:
    CPU: 0    Not tainted  (3.5.0-rc5-next-20120702-00007-g3028b64 #1128)
    PC is at snd_dmaengine_pcm_get_chan+0x8/0x10
    LR is at snd_imx_pcm_hw_params+0x18/0xdc
    pc : [<c02d3cf8>]    lr : [<c02e95ec>]    psr: a0000013
    sp : c7b45e30  ip : ffffffff  fp : c7ae58e0
    r10: 00000000  r9 : c7ae981c  r8 : c7b88800
    r7 : c7ae5a60  r6 : c7ae5b20  r5 : c7ae9810  r4 : c7afa060
    r3 : 00000000  r2 : 00000001  r1 : c7b88800  r0 : c7afa060
    Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
    Control: 0005317f  Table: a7b74000  DAC: 00000015
    Process aplay (pid: 701, stack limit = 0xc7b44270)
    Stack: (0xc7b45e30 to 0xc7b46000)
    5e20:                                     00100000 00000029 c7b88800 c02db870
    5e40: c7ae5a60 c02d4594 00000010 01ae5a60 c7ae5a60 c7ae9810 c7ae9810 c7afa060
    5e60: c7ae5b20 c7ae5a60 c7b88800 c02e3ef0 c02e3e08 c7b1e400 c7afa060 c7b88800
    5e80: 00000000 c0014da8 c7b44000 00000000 bec566ac c02cd400 c7afa060 c7afa060
    5ea0: bec56800 c7b88800 c0014da8 c02cdd7c c04ee710 c04ee7b8 00000003 c005fc74
    5ec0: 00000000 7fffffff c7b45f00 c7afa060 c7b67420 c7ba3070 00000004 c0014da8
    5ee0: c7b44000 00000000 bec566ac c02ced88 c04e95f8 b6f5ab04 c7b45fb0 0145a468
    5f00: 0145a600 bec566bc bec56800 c7b67420 c7ba3070 c00d499c c7b45f18 c7b45f18
    5f20: 0000001a 00000004 00000001 c7b44000 c0527f40 00000009 00000008 00000000
    5f40: c7b44000 c002c9ec 00000001 c04f0ab0 c04ebec0 00000101 00000000 0000000a
    5f60: 60000093 c7b67420 bec56800 c25c4111 00000004 c0014da8 c7b44000 00000000
    5f80: bec566ac c00d4f38 b6ffb658 00000000 c0522d80 0145a468 b6fd5000 0145a418
    5fa0: 00000036 c0014c00 0145a468 b6fd5000 00000004 c25c4111 bec56800 00020001
    5fc0: 0145a468 b6fd5000 0145a418 00000036 0145a468 0145a600 bec566bc bec566ac
    5fe0: 0145a468 bec56388 b6f65ce4 b6dcebec 20000010 00000004 00000000 00000000
    [<c02d3cf8>] (snd_dmaengine_pcm_get_chan+0x8/0x10) from [<c02e95ec>] (snd_imx_pcm_hw_params+0x18/0xdc)
    [<c02e95ec>] (snd_imx_pcm_hw_params+0x18/0xdc) from [<c02e3ef0>] (soc_pcm_hw_params+0xe8/0x1f0)
    [<c02e3ef0>] (soc_pcm_hw_params+0xe8/0x1f0) from [<c02cd400>] (snd_pcm_hw_params+0x124/0x474)
    [<c02cd400>] (snd_pcm_hw_params+0x124/0x474) from [<c02cdd7c>] (snd_pcm_common_ioctl1+0x4b4/0xf74)
    [<c02cdd7c>] (snd_pcm_common_ioctl1+0x4b4/0xf74) from [<c02ced88>] (snd_pcm_playback_ioctl1+0x30/0x510)
    [<c02ced88>] (snd_pcm_playback_ioctl1+0x30/0x510) from [<c00d499c>] (do_vfs_ioctl+0x80/0x5e4)
    [<c00d499c>] (do_vfs_ioctl+0x80/0x5e4) from [<c00d4f38>] (sys_ioctl+0x38/0x60)
    [<c00d4f38>] (sys_ioctl+0x38/0x60) from [<c0014c00>] (ret_fast_syscall+0x0/0x2c)
    Code: e593000c e12fff1e e59030a0 e59330bc (e5930000)
    ---[ end trace fa518c8ba3a74e97 ]--
    
    Reported-by: Javier Martin <javier.martin@vista-silicon.com>
    Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
    Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit be67f30591ffe86e250955645a97e3d68f5a2cdf
Author: Dave Airlie <airlied@gmail.com>
Date:   Thu Aug 9 15:00:15 2012 +1000

    drm/mgag200: fix G200ER pll picking algorithm
    
    commit 9830605d4c070b16ec5c24a75503877cc7698409 upstream.
    
    The original code was misported from the X driver,
    
    a) an int went to unsigned int, breaking the downward counting testm code
    b) the port did the vco/computed clock bits completely wrong.
    
    This fixes an infinite loop on modprobe on some Dell servers with the G200ER
    chipset variant.
    
    Found in internal testing.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit dd9c8a48cc8546afbad374583e56b4aa38a6031f
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Mon Jul 30 12:03:30 2012 +0200

    nouveau: fixup scanout enable in nvc0_pm
    
    commit 44b9f44e111c1e4a50bff66a642cc7c5cb59af4e upstream.
    
    Fixes screen being black after changing performance level.
    
    Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
    Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 3e71cfc543f764241e9e0c9e2810fa4d8d0a6282
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Wed Aug 8 09:32:20 2012 +0200

    s390/compat: fix mmap compat system calls
    
    commit e85871218513c54f7dfdb6009043cb638f2fecbe upstream.
    
    The native 31 bit and the compat behaviour for the mmap system calls differ:
    
    In native 31 bit mode the passed in address for the mmap system call will be
    unmodified passed to sys_mmap_pgoff().
    In compat mode however the passed in address will be modified with
    compat_ptr() which masks out the most significant bit.
    
    The result is that in native 31 bit mode each mmap request (with MAP_FIXED)
    will fail where the most significat bit is set, while in compat mode it
    may succeed.
    
    This odd behaviour was introduced with d3815898 "[S390] mmap: add missing
    compat_ptr conversion to both mmap compat syscalls".
    
    To restore a consistent behaviour accross native and compat mode this
    patch functionally reverts the above mentioned commit.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0d6b40f647a7fc1acc74eb5b566d161113cbf310
Author: Heiko Carstens <heiko.carstens@de.ibm.com>
Date:   Tue Aug 7 09:48:13 2012 +0200

    s390/compat: fix compat wrappers for process_vm system calls
    
    commit 82aabdb6f1eb61e0034ec23901480f5dd23db7c4 upstream.
    
    The compat wrappers incorrectly called the non compat versions of
    the system process_vm system calls.
    
    Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>