Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 26, 2012
  1. @gregkh

    Linux 3.0.53

    gregkh authored
  2. @gregkh

    Resource: fix wrong resource window calculation

    Ram Pai authored gregkh committed
    commit 47ea91b upstream.
    __find_resource() incorrectly returns a resource window which overlaps
    an existing allocated window.  This happens when the parent's
    resource-window spans 0x00000000 to 0xffffffff and is entirely allocated
    to all its children resource-windows.
    __find_resource() looks for gaps in resource allocation among the
    children resource windows.  When it encounters the last child window it
    blindly tries the range next to one allocated to the last child.  Since
    the last child's window ends at 0xffffffff the calculation overflows,
    leading the algorithm to believe that any window in the range 0x0000000
    to 0xfffffff is available for allocation.  This leads to a conflicting
    window allocation.
    Michal Ludvig reported this issue seen on his platform.  The following
    patch fixes the problem and has been verified by Michal.  I believe this
    bug has been there for ages.  It got exposed by git commit 2bbc694
    ("PCI : ability to relocate assigned pci-resources")
    Signed-off-by: Ram Pai <>
    Tested-by: Michal Ludvig <>
    Signed-off-by: Linus Torvalds <>
    Cc: Herton Ronaldo Krzesinski <>
    Signed-off-by: Greg Kroah-Hartman <>
  3. @gregkh

    PCI : Calculate right add_size

    Yinghai Lu authored gregkh committed
    commit a4ac9fe upstream.
    During debug of one SRIOV enabled hotplug device, we found found that
    add_size is not passed properly.
    The device has devices under two level bridges:
     |           +-01.0-[90-9f]--
     |           +-02.0-[a0-af]----00.0-[a1-a3]--+-02.0-[a2]--+-00.0  Oracle Corporation Device
     |           |                               \-03.0-[a3]--+-00.0  Oracle Corporation Device
    Which means later the parent bridge will not try to add a big enough range:
    [  557.455077] pci 0000:a0:00.0: BAR 14: assigned [mem 0xf9000000-0xf93fffff]
    [  557.461974] pci 0000:a0:00.0: BAR 15: assigned [mem 0xf6000000-0xf61fffff pref]
    [  557.469340] pci 0000:a1:02.0: BAR 14: assigned [mem 0xf9000000-0xf91fffff]
    [  557.476231] pci 0000:a1:02.0: BAR 15: assigned [mem 0xf6000000-0xf60fffff pref]
    [  557.483582] pci 0000:a1:03.0: BAR 14: assigned [mem 0xf9200000-0xf93fffff]
    [  557.490468] pci 0000:a1:03.0: BAR 15: assigned [mem 0xf6100000-0xf61fffff pref]
    [  557.497833] pci 0000:a1:03.0: BAR 14: can't assign mem (size 0x200000)
    [  557.504378] pci 0000:a1:03.0: failed to add optional resources res=[mem 0xf9200000-0xf93fffff]
    [  557.513026] pci 0000:a1:02.0: BAR 14: can't assign mem (size 0x200000)
    [  557.519578] pci 0000:a1:02.0: failed to add optional resources res=[mem 0xf9000000-0xf91fffff]
    It turns out we did not calculate size1 properly.
    static resource_size_t calculate_memsize(resource_size_t size,
                    resource_size_t min_size,
                    resource_size_t size1,
                    resource_size_t old_size,
                    resource_size_t align)
            if (size < min_size)
                    size = min_size;
            if (old_size == 1 )
                    old_size = 0;
            if (size < old_size)
                    size = old_size;
            size = ALIGN(size + size1, align);
            return size;
    We should not pass add_size with min_size in calculate_memsize since
    that will make add_size not contribute final add_size.
    So just pass add_size with size1 to calculate_memsize().
    With this change, we should have chance to remove extra addon in
    Signed-off-by: Yinghai Lu <>
    Signed-off-by: Jesse Barnes <>
    Cc: Andrew Worsley <>
    Signed-off-by: Greg Kroah-Hartman <>
  4. @gregkh

    PCI : ability to relocate assigned pci-resources

    Ram Pai authored gregkh committed
    commit 2bbc694 upstream.
    Currently pci-bridges are allocated enough resources to satisfy their immediate
    requirements.  Any additional resource-requests fail if additional free space,
    contiguous to the one already allocated, is not available. This behavior is not
    reasonable since sufficient contiguous resources, that can satisfy the request,
    are available at a different location.
    This patch provides the ability to expand and relocate a allocated resource.
    	v2: Changelog: Fixed size calculation in pci_reassign_resource()
    	v3: Changelog : Split this patch. The resource.c changes are already
    			upstream. All the pci driver changes are in here.
    Signed-off-by: Ram Pai <>
    Signed-off-by: Jesse Barnes <>
    Cc: Andrew Worsley <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. @gregkh

    selinux: fix sel_netnode_insert() suspicious rcu dereference

    Dave Jones authored gregkh committed
    commit 88a693b upstream.
    [ INFO: suspicious RCU usage. ]
    3.5.0-rc1+ #63 Not tainted
    security/selinux/netnode.c:178 suspicious rcu_dereference_check() usage!
    other info that might help us debug this:
    rcu_scheduler_active = 1, debug_locks = 0
    1 lock held by trinity-child1/8750:
     #0:  (sel_netnode_lock){+.....}, at: [<ffffffff812d8f8a>] sel_netnode_sid+0x16a/0x3e0
    stack backtrace:
    Pid: 8750, comm: trinity-child1 Not tainted 3.5.0-rc1+ #63
    Call Trace:
     [<ffffffff810cec2d>] lockdep_rcu_suspicious+0xfd/0x130
     [<ffffffff812d91d1>] sel_netnode_sid+0x3b1/0x3e0
     [<ffffffff812d8e20>] ? sel_netnode_find+0x1a0/0x1a0
     [<ffffffff812d24a6>] selinux_socket_bind+0xf6/0x2c0
     [<ffffffff810cd1dd>] ? trace_hardirqs_off+0xd/0x10
     [<ffffffff810cdb55>] ? lock_release_holdtime.part.9+0x15/0x1a0
     [<ffffffff81093841>] ? lock_hrtimer_base+0x31/0x60
     [<ffffffff812c9536>] security_socket_bind+0x16/0x20
     [<ffffffff815550ca>] sys_bind+0x7a/0x100
     [<ffffffff816c03d5>] ? sysret_check+0x22/0x5d
     [<ffffffff810d392d>] ? trace_hardirqs_on_caller+0x10d/0x1a0
     [<ffffffff8133b09e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
     [<ffffffff816c03a9>] system_call_fastpath+0x16/0x1b
    This patch below does what Paul McKenney suggested in the previous thread.
    Signed-off-by: Dave Jones <>
    Reviewed-by: Paul E. McKenney <>
    Acked-by: Paul Moore <>
    Cc: Eric Paris <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: James Morris <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. @jankara @gregkh

    reiserfs: Protect reiserfs_quota_write() with write lock

    jankara authored gregkh committed
    commit 361d94a upstream.
    Calls into reiserfs journalling code and reiserfs_get_block() need to
    be protected with write lock. We remove write lock around calls to high
    level quota code in the next patch so these paths would suddently become
    Signed-off-by: Jan Kara <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. @jankara @gregkh

    reiserfs: Move quota calls out of write lock

    jankara authored gregkh committed
    commit 7af1168 upstream.
    Calls into highlevel quota code cannot happen under the write lock. These
    calls take dqio_mutex which ranks above write lock. So drop write lock
    before calling back into quota code.
    Signed-off-by: Jan Kara <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. @jankara @gregkh

    reiserfs: Protect reiserfs_quota_on() with write lock

    jankara authored gregkh committed
    commit b9e06ef upstream.
    In reiserfs_quota_on() we do quite some work - for example unpacking
    tail of a quota file. Thus we have to hold write lock until a moment
    we call back into the quota code.
    Signed-off-by: Jan Kara <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. @jankara @gregkh

    reiserfs: Fix lock ordering during remount

    jankara authored gregkh committed
    commit 3bb3e1f upstream.
    When remounting reiserfs dquot_suspend() or dquot_resume() can be called.
    These functions take dqonoff_mutex which ranks above write lock so we have
    to drop it before calling into quota code.
    Signed-off-by: Jan Kara <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. @gregkh

    NFS: Wait for session recovery to finish before returning

    Bryan Schumaker authored gregkh committed
    commit 399f11c upstream.
    Currently, we will schedule session recovery and then return to the
    caller of nfs4_handle_exception.  This works for most cases, but causes
    a hang on the following test case:
    	Client				Server
    	------				------
    	Open file over NFS v4.1
    	Write to file
    					Expire client
    	Try to lock file
    The server will return NFS4ERR_BADSESSION, prompting the client to
    schedule recovery.  However, the client will continue placing lock
    attempts and the open recovery never seems to be scheduled.  The
    simplest solution is to wait for session recovery to run before retrying
    the lock.
    Signed-off-by: Bryan Schumaker <>
    Signed-off-by: Trond Myklebust <>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. @danvet @gregkh

    drm/i915: fix overlay on i830M

    danvet authored gregkh committed
    commit a919398 upstream.
    The overlay on the i830M has a peculiar failure mode: It works the
    first time around after boot-up, but consistenly hangs the second time
    it's used.
    Chris Wilson has dug out a nice errata:
    "1.5.12 Clock Gating Disable for Display Register
    Address Offset:	06200h–06203h
    "Bit 3
    Ovrunit Clock Gating Disable.
    0 = Clock gating controlled by unit enabling logic
    1 = Disable clock gating function
    DevALM Errata ALM049: Overlay Clock Gating Must be Disabled:  Overlay
    & L2 Cache clock gating must be disabled in order to prevent device
    hangs when turning off overlay.SW must turn off Ovrunit clock gating
    (6200h) and L2 Cache clock gating (C8h)."
    Now I've nowhere found that 0xc8 register and hence couldn't apply the
    l2 cache workaround. But I've remembered that part of the magic that
    the OVERLAY_ON/OFF commands are supposed to do is to rearrange cache
    allocations so that the overlay scaler has some scratch space.
    And while pondering how that could explain the hang the 2nd time we
    enable the overlay, I've remembered that the old ums overlay code did
    _not_ issue the OVERLAY_OFF cmd.
    And indeed, disabling the OFF cmd results in the overlay working
    flawlessly, so I guess we can workaround the lack of the above
    workaround by simply never disabling the overlay engine once it's
    Note that we have the first part of the above w/a already implemented
    in i830_init_clock_gating - leave that as-is to avoid surprises.
    v2: Add a comment in the code.
    Tested-by: Rhys <>
    Reviewed-by: Chris Wilson <>
    Signed-off-by: Daniel Vetter <>
    [bwh: Backported to 3.2:
     - Adjust context
     - s/intel_ring_emit(ring, /OUT_RING(/]
    Signed-off-by: Ben Hutchings <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. @pldemone @gregkh

    sky2: Fix for interrupt handler

    pldemone authored gregkh committed
    commit d663d18 upstream.
    Re-enable interrupts if it is not our interrupt
    Signed-off-by: Mirko Lindner <>
    Signed-off-by: David S. Miller <>
    Cc: Jonathan Nieder <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. @tsally @gregkh

    eCryptfs: check for eCryptfs cipher support at mount

    tsally authored gregkh committed
    commit 5f5b331 upstream.
    The issue occurs when eCryptfs is mounted with a cipher supported by
    the crypto subsystem but not by eCryptfs. The mount succeeds and an
    error does not occur until a write. This change checks for eCryptfs
    cipher support at mount time.
    Resolves Launchpad issue #338914, reported by Tyler Hicks in 03/2009.
    Signed-off-by: Tim Sally <>
    Signed-off-by: Tyler Hicks <>
    Cc: Herton Ronaldo Krzesinski <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. @gregkh

    eCryptfs: Copy up POSIX ACL and read-only flags from lower mount

    Tyler Hicks authored gregkh committed
    commit 069ddcd upstream.
    When the eCryptfs mount options do not include '-o acl', but the lower
    filesystem's mount options do include 'acl', the MS_POSIXACL flag is not
    flipped on in the eCryptfs super block flags. This flag is what the VFS
    checks in do_last() when deciding if the current umask should be applied
    to a newly created inode's mode or not. When a default POSIX ACL mask is
    set on a directory, the current umask is incorrectly applied to new
    inodes created in the directory. This patch ignores the MS_POSIXACL flag
    passed into ecryptfs_mount() and sets the flag on the eCryptfs super
    block depending on the flag's presence on the lower super block.
    Additionally, it is incorrect to allow a writeable eCryptfs mount on top
    of a read-only lower mount. This missing check did not allow writes to
    the read-only lower mount because permissions checks are still performed
    on the lower filesystem's objects but it is best to simply not allow a
    rw mount on top of ro mount. However, a ro eCryptfs mount on top of a rw
    mount is valid and still allowed.
    Signed-off-by: Tyler Hicks <>
    Reported-by: Stefan Beller <>
    Cc: John Johansen <>
    Cc: Herton Ronaldo Krzesinski <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. @j4nn @gregkh

    usb: use usb_serial_put in usb_serial_probe errors

    j4nn authored gregkh committed
    commit 0658a33 upstream.
    The use of kfree(serial) in error cases of usb_serial_probe
    was invalid - usb_serial structure allocated in create_serial()
    gets reference of usb_device that needs to be put, so we need
    to use usb_serial_put() instead of simple kfree().
    Signed-off-by: Jan Safrata <>
    Acked-by: Johan Hovold <>
    Cc: Richard Retanubun <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. @uweber @gregkh

    netfilter: nf_nat: don't check for port change on ICMP tuples

    uweber authored gregkh committed
    commit 38fe36a upstream.
    ICMP tuples have id in src and type/code in dst.
    So comparing src.u.all with dst.u.all will always fail here
    and ip_xfrm_me_harder() is called for every ICMP packet,
    even if there was no NAT.
    Signed-off-by: Ulrich Weber <>
    Signed-off-by: Pablo Neira Ayuso <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. @gregkh

    netfilter: Mark SYN/ACK packets as invalid from original direction

    Jozsef Kadlecsik authored gregkh committed
    commit 64f509c upstream.
    Clients should not send such packets. By accepting them, we open
    up a hole by wich ephemeral ports can be discovered in an off-path
    See: "Reflection scan: an Off-Path Attack on TCP" by Jan Wrobel,
    Signed-off-by: Jozsef Kadlecsik <>
    Signed-off-by: Pablo Neira Ayuso <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. @gregkh

    netfilter: Validate the sequence number of dataless ACK packets as well

    Jozsef Kadlecsik authored gregkh committed
    commit 4a70bbf upstream.
    We spare nothing by not validating the sequence number of dataless
    ACK packets and enabling it makes harder off-path attacks.
    See: "Reflection scan: an Off-Path Attack on TCP" by Jan Wrobel,
    Signed-off-by: Jozsef Kadlecsik <>
    Signed-off-by: Pablo Neira Ayuso <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. @jdelvare @gregkh

    kbuild: Fix gcc -x syntax

    jdelvare authored gregkh committed
    commit b1e0d8b upstream.
    The correct syntax for gcc -x is "gcc -x assembler", not
    "gcc -xassembler". Even though the latter happens to work, the former
    is what is documented in the manual page and thus what gcc wrappers
    such as icecream do expect.
    This isn't a cosmetic change. The missing space prevents icecream from
    recognizing compilation tasks it can't handle, leading to silent kernel
    Besides me, credits go to Michael Matz and Dirk Mueller for
    investigating the miscompilation issue and tracking it down to this
    incorrect -x parameter syntax.
    Signed-off-by: Jean Delvare <>
    Acked-by: Ingo Molnar <>
    Cc: Bernhard Walle <>
    Cc: Michal Marek <>
    Cc: Ralf Baechle <>
    Signed-off-by: Michal Marek <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. @michich @gregkh

    r8169: use unlimited DMA burst for TX

    michich authored gregkh committed
    commit aee77e4 upstream.
    The r8169 driver currently limits the DMA burst for TX to 1024 bytes. I have
    a box where this prevents the interface from using the gigabit line to its full
    potential. This patch solves the problem by setting TX_DMA_BURST to unlimited.
    The box has an ASRock B75M motherboard with on-board RTL8168evl/8111evl
    (XID 0c900880). TSO is enabled.
    I used netperf (TCP_STREAM test) to measure the dependency of TX throughput
    on MTU. I did it for three different values of TX_DMA_BURST ('5'=512, '6'=1024,
    '7'=unlimited). This chart shows the results:
    Interesting points:
     - With the current DMA burst limit (1024):
       - at the default MTU=1500 I get only 842 Mbit/s.
       - when going from small MTU, the performance rises monotonically with
         increasing MTU only up to a peak at MTU=1076 (908 MBit/s). Then there's
         a sudden drop to 762 MBit/s from which the throughput rises monotonically
         again with further MTU increases.
     - With a smaller DMA burst limit (512):
       - there's a similar peak at MTU=1076 and another one at MTU=564.
     - With unlimited DMA burst:
       - at the default MTU=1500 I get nice 940 Mbit/s.
       - the throughput rises monotonically with increasing MTU with no strange
    Notice that the peaks occur at MTU sizes that are multiples of the DMA burst
    limit plus 52. Why 52? Because:
      20 (IP header) + 20 (TCP header) + 12 (TCP options) = 52
    The Realtek-provided r8168 driver (v8.032.00) uses unlimited TX DMA burst too,
    except for CFG_METHOD_1 where the TX DMA burst is set to 512 bytes.
    CFG_METHOD_1 appears to be the oldest MAC version of "RTL8168B/8111B",
    i.e. RTL_GIGA_MAC_VER_11 in r8169. Not sure if this MAC version really needs
    the smaller burst limit, or if any other versions have similar requirements.
    Signed-off-by: Michal Schmidt <>
    Acked-by: Francois Romieu <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. @gregkh

    net-rps: Fix brokeness causing OOO packets

    Tom Herbert authored gregkh committed
    [ Upstream commit baefa31 ]
    In commit c445477 which adds aRFS to the kernel, the CPU
    selected for RFS is not set correctly when CPU is changing.
    This is causing OOO packets and probably other issues.
    Signed-off-by: Tom Herbert <>
    Acked-by: Eric Dumazet <>
    Acked-by: Ben Hutchings <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. @jpirko @gregkh

    net: correct check in dev_addr_del()

    jpirko authored gregkh committed
    [ Upstream commit a652208 ]
    Check (ha->addr == dev->dev_addr) is always true because dev_addr_init()
    sets this. Correct the check to behave properly on addr removal.
    Signed-off-by: Jiri Pirko <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  23. @hannes @gregkh

    ipv6: setsockopt(IPIPPROTO_IPV6, IPV6_MINHOPCOUNT) forgot to set retu…

    hannes authored gregkh committed
    …rn value
    [ Upstream commit d4596ba ]
    Cc: Stephen Hemminger <>
    Signed-off-by: Hannes Frederic Sowa <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  24. @xiw @gregkh

    ipv4: avoid undefined behavior in do_ip_setsockopt()

    xiw authored gregkh committed
    [ Upstream commit 0c9f79b ]
    (1<<optname) is undefined behavior in C with a negative optname or
    optname larger than 31.  In those cases the result of the shift is
    not necessarily zero (e.g., on x86).
    This patch simplifies the code with a switch statement on optname.
    It also allows the compiler to generate better code (e.g., using a
    64-bit mask).
    Signed-off-by: Xi Wang <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  25. @andreas-schwab @gregkh

    m68k: fix sigset_t accessor functions

    andreas-schwab authored gregkh committed
    commit 34fa78b upstream.
    The sigaddset/sigdelset/sigismember functions that are implemented with
    bitfield insn cannot allow the sigset argument to be placed in a data
    register since the sigset is wider than 32 bits.  Remove the "d"
    constraint from the asm statements.
    The effect of the bug is that sending RT signals does not work, the signal
    number is truncated modulo 32.
    Signed-off-by: Andreas Schwab <>
    Signed-off-by: Geert Uytterhoeven <>
    Signed-off-by: Greg Kroah-Hartman <>
  26. @jmberg @gregkh

    wireless: allow 40 MHz on world roaming channels 12/13

    jmberg authored gregkh committed
    commit 43c771a upstream.
    When in world roaming mode, allow 40 MHz to be used
    on channels 12 and 13 so that an AP that is, e.g.,
    using HT40+ on channel 9 (in the UK) can be used.
    Reported-by: Eddie Chapman <>
    Tested-by: Eddie Chapman <>
    Acked-by: Luis R. Rodriguez <>
    Signed-off-by: Johannes Berg <>
    Signed-off-by: Greg Kroah-Hartman <>
  27. @dcbw @gregkh

    USB: option: add Alcatel X220/X500D USB IDs

    dcbw authored gregkh committed
    commit c0bc309 upstream.
    Signed-off-by: Dan Williams <>
    Signed-off-by: Greg Kroah-Hartman <>
  28. @dcbw @gregkh

    USB: option: add Novatel E362 and Dell Wireless 5800 USB IDs

    dcbw authored gregkh committed
    commit fcb2164 upstream.
    The Dell 5800 appears to be a simple rebrand of the Novatel E362.
    Signed-off-by: Dan Williams <>
    Signed-off-by: Greg Kroah-Hartman <>
  29. @gregkh

    s390/gup: add missing TASK_SIZE check to get_user_pages_fast()

    Heiko Carstens authored gregkh committed
    commit d55c4c6 upstream.
    When walking page tables we need to make sure that everything
    is within bounds of the ASCE limit of the task's address space.
    Otherwise we might calculate e.g. a pud pointer which is not
    within a pud and dereference it.
    So check against TASK_SIZE (which is the ASCE limit) before
    walking page tables.
    Reviewed-by: Gerald Schaefer <>
    Signed-off-by: Heiko Carstens <>
    Signed-off-by: Martin Schwidefsky <>
    Signed-off-by: Greg Kroah-Hartman <>
  30. @gregkh

    UBIFS: introduce categorized lprops counter

    Artem Bityutskiy authored gregkh committed
    commit 98a1eeb upstream.
    This commit is a preparation for a subsequent bugfix. We introduce a
    counter for categorized lprops.
    Signed-off-by: Artem Bityutskiy <>
    Signed-off-by: Greg Kroah-Hartman <>
  31. @gregkh

    UBIFS: fix mounting problems after power cuts

    Artem Bityutskiy authored gregkh committed
    commit a28ad42 upstream.
    This is a bugfix for a problem with the following symptoms:
    1. A power cut happens
    2. After reboot, we try to mount UBIFS
    3. Mount fails with "No space left on device" error message
    UBIFS complains like this:
    UBIFS error (pid 28225): grab_empty_leb: could not find an empty LEB
    The root cause of this problem is that when we mount, not all LEBs are
    categorized. Only those which were read are. However, the
    'ubifs_find_free_leb_for_idx()' function assumes that all LEBs were
    categorized and 'c->freeable_cnt' is valid, which is a false assumption.
    This patch fixes the problem by teaching 'ubifs_find_free_leb_for_idx()'
    to always fall back to LPT scanning if no freeable LEBs were found.
    This problem was reported by few people in the past, but Brent Taylor
    was able to reproduce it and send me a flash image which cannot be mounted,
    which made it easy to hunt the bug. Kudos to Brent.
    Reported-by: Brent Taylor <>
    Signed-off-by: Artem Bityutskiy <>
    Signed-off-by: Greg Kroah-Hartman <>
  32. @gregkh

    ASoC: dapm: Use card_list during DAPM shutdown

    Misael Lopez Cruz authored gregkh committed
    commit 445632a upstream.
    DAPM shutdown incorrectly uses "list" field of codec struct while
    iterating over probed components (codec_dev_list). "list" field
    refers to codecs registered in the system, "card_list" field is
    used for probed components.
    Signed-off-by: Misael Lopez Cruz <>
    Signed-off-by: Liam Girdwood <>
    Signed-off-by: Mark Brown <>
    Signed-off-by: Greg Kroah-Hartman <>
  33. @gregkh

    ASoC: wm8978: pll incorrectly configured when codec is master

    Eric Millbrandt authored gregkh committed
    commit 55c6f4c upstream.
    When MCLK is supplied externally and BCLK and LRC are configured as outputs
    (codec is master), the PLL values are only calculated correctly on the first
    transmission.  On subsequent transmissions, at differenct sample rates, the
    wrong PLL values are used.  Test for f_opclk instead of f_pllout to determine
    if the PLL values are needed.
    Signed-off-by: Eric Millbrandt <>
    Signed-off-by: Mark Brown <>
    Signed-off-by: Greg Kroah-Hartman <>
  34. @tiwai @gregkh

    ALSA: hda - Force to reset IEC958 status bits for AD codecs

    tiwai authored gregkh committed
    commit ae24c31 upstream.
    Several bug reports suggest that the forcibly resetting IEC958 status
    bits is required for AD codecs to get the SPDIF output working
    properly after changing streams.
    Original fix credit to Javeed Shaikh.
    Reported-by: Robin Kreis <>
    Signed-off-by: Takashi Iwai <>
    Signed-off-by: Greg Kroah-Hartman <>
  35. @gregkh

    ALSA: hda: Cirrus: Fix coefficient index for beep configuration

    Alexander Stein authored gregkh committed
    commit 5a83b4b upstream.
    Signed-off-by: Alexander Stein <>
    Signed-off-by: Takashi Iwai <>
    Signed-off-by: Greg Kroah-Hartman <>
Something went wrong with that request. Please try again.