08 Nov, 2011

40 commits

  • Greg Kroah-Hartman
     
  • commit ce7e9065958191e6b7ca49d7ed0e1099c486d198 upstream.

    Here is a patch for a new PID (zeitcontrol-device mifare-reader FT232BL(like FT232BM but lead free)).

    Signed-off-by: Artur Zimmer
    Signed-off-by: Greg Kroah-Hartman

    Artur Zimmer
     
  • commit 2f1def2695c223b2aa325e5e47d0d64200a45d23 upstream.

    A new device ID pair is added for Sierra Wireless MC8305.

    Signed-off-by: Florian Echtler
    Signed-off-by: Greg Kroah-Hartman

    Florian Echtler
     
  • commit 1cd9f0976aa4606db8d6e3dc3edd0aca8019372a upstream.

    This doesn't make much sense, and it exposes a bug in the kernel where
    attempts to create a new file in an append-only directory using
    O_CREAT will fail (but still leave a zero-length file). This was
    discovered when xfstests #79 was generalized so it could run on all
    file systems.

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Greg Kroah-Hartman

    Theodore Ts'o
     
  • commit e0c87bd95e8dad455c23bc56513af8dcb1737e55 upstream.

    Modify Ethernet addess macros to be compatible with BE/LE platforms

    Signed-off-by: Alexandre Bounine
    Cc: Chul Kim
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Alexandre Bounine
     
  • Does not corrispond with a direct commit in Linus's tree as it was fixed
    differently in the 3.0 release.

    We will meet with a BUG_ON() if following script is run.

    mkfs.ext4 -b 4096 /dev/sdb1 1000000
    mount -t ext4 /dev/sdb1 /mnt/sdb1
    fallocate -l 100M /mnt/sdb1/test
    sync
    for((i=0;i
    Cc: Xiaoyun Mao
    Cc: Yingbin Wang
    Cc: Jia Wan
    Signed-off-by: Zheng Liu
    Signed-off-by: Greg Kroah-Hartman

    Zheng Liu
     
  • commit 53b0f08042f04813cd1a7473dacd3edfacb28eb3 upstream.

    Ben Pfaff reported a kernel oops and provided a test program to
    reproduce it.

    https://kerneltrap.org/mailarchive/linux-netdev/2010/5/21/6277805

    tc_fill_qdisc() should not be called for builtin qdisc, or it
    dereference a NULL pointer to get device ifindex.

    Fix is to always use tc_qdisc_dump_ignore() before calling
    tc_fill_qdisc().

    Reported-by: Ben Pfaff
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     
  • commit 57a27e1d6a3bb9ad4efeebd3a8c71156d6207536 upstream.

    When one of the SSID's length passed in a scan or sched_scan request
    is larger than 255, there will be an overflow in the u8 that is used
    to store the length before checking. This causes the check to fail
    and we overrun the buffer when copying the SSID.

    Fix this by checking the nl80211 attribute length before copying it to
    the struct.

    This is a follow up for the previous commit
    208c72f4fe44fe09577e7975ba0e7fa0278f3d03, which didn't fix the problem
    entirely.

    Reported-by: Ido Yariv
    Signed-off-by: Luciano Coelho
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    Luciano Coelho
     
  • commit 7ac28817536797fd40e9646452183606f9e17f71 upstream.

    A remote user can provide a small value for the command size field in
    the command header of an l2cap configuration request, resulting in an
    integer underflow when subtracting the size of the configuration request
    header. This results in copying a very large amount of data via
    memcpy() and destroying the kernel heap. Check for underflow.

    Signed-off-by: Dan Rosenberg
    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Greg Kroah-Hartman

    Dan Rosenberg
     
  • commit 42c36f63ac1366ab0ecc2d5717821362c259f517 upstream.

    Commit a626ca6a6564 ("vm: fix vm_pgoff wrap in stack expansion") fixed
    the case of an expanding mapping causing vm_pgoff wrapping when you had
    downward stack expansion. But there was another case where IA64 and
    PA-RISC expand mappings: upward expansion.

    This fixes that case too.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Hugh Dickins
     
  • commit a626ca6a656450e9f4df91d0dda238fff23285f4 upstream.

    Commit 982134ba6261 ("mm: avoid wrapping vm_pgoff in mremap()") fixed
    the case of a expanding mapping causing vm_pgoff wrapping when you used
    mremap. But there was another case where we expand mappings hiding in
    plain sight: the automatic stack expansion.

    This fixes that case too.

    This one also found by Robert Święcki, using his nasty system call
    fuzzer tool. Good job.

    Reported-and-tested-by: Robert Święcki
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Linus Torvalds
     
  • commit 8d03e971cf403305217b8e62db3a2e5ad2d6263f upstream.

    Structures "l2cap_conninfo" and "rfcomm_conninfo" have one padding
    byte each. This byte in "cinfo" is copied to userspace uninitialized.

    Signed-off-by: Filip Palian
    Acked-by: Marcel Holtmann
    Signed-off-by: Gustavo F. Padovan
    Signed-off-by: Greg Kroah-Hartman

    Filip Palian
     
  • commit 0b760113a3a155269a3fba93a409c640031dd68f upstream.

    If the NLM daemon is killed on the NFS server, we can currently end up
    hanging forever on an 'unlock' request, instead of aborting. Basically,
    if the rpcbind request fails, or the server keeps returning garbage, we
    really want to quit instead of retrying.

    Tested-by: Vasily Averin
    Signed-off-by: Trond Myklebust
    Signed-off-by: Greg Kroah-Hartman

    Trond Myklebust
     
  • commit a9712bc12c40c172e393f85a9b2ba8db4bf59509 upstream.

    All of those are rw-r--r-- and all are broken for suid - if you open
    a file before the target does suid-root exec, you'll be still able
    to access it. For personality it's not a big deal, but for syscall
    and stack it's a real problem.

    Fix: check that task is tracable for you at the time of read().

    Signed-off-by: Al Viro
    Signed-off-by: Greg Kroah-Hartman

    Al Viro
     
  • commit bba14de98753cb6599a2dae0e520714b2153522d upstream.

    Lower SCM_MAX_FD from 255 to 253 so that allocations for scm_fp_list are
    halved. (commit f8d570a4 added two pointers in this structure)

    scm_fp_dup() should not copy whole structure (and trigger kmemcheck
    warnings), but only the used part. While we are at it, only allocate
    needed size.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric Dumazet
     
  • commit 9fbdaeb4f4dd14a0caa9fc35c496d5440c251a3a upstream.

    The newer Lenovo ThinkPads have HKEY HID of LEN0068 instead
    of IBM0068. Added new HID so that thinkpad_acpi module will
    auto load on these newer Lenovo ThinkPads.

    Acked-by: Henrique de Moraes Holschuh
    Cc: stable@vger.kernel.org
    Signed-off-by: Manoj Iyer
    Signed-off-by: Andy Lutomirski
    Signed-off-by: Matthew Garrett
    Signed-off-by: Bjørn Mork
    Signed-off-by: Greg Kroah-Hartman

    Manoj Iyer
     
  • commit 4fd2c20d964a8fb9861045f1022475c9d200d684 upstream.

    "m" is never NULL here. We need a different test for the end of list
    condition.

    Signed-off-by: Dan Carpenter
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Cc: Leonardo Chiquitto
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • Commit 6d86a0ee (watchdog: mtx1-wdt: request gpio before using it) was
    backported from upstream. The patch is using a gpiolib call which is only
    available in kernel 2.6.34+. Fix build by using the "old" gpiolib API
    instead.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     
  • Commit ec3eb823 was not applicable in 2.6.32 and introduces a build breakage.
    Revert that commit since it is irrelevant for this kernel version.

    Acked-by: Ralf Baechle
    Signed-off-by: Florian Fainelli

    Florian Fainelli
     
  • This reverts commit 262e2d9d559334e09bc80516132ea99d82f97b8c.

    Turns out this breaks the build, and as such, really isn't needed for
    the 2.6.32-stable branch at all.

    Reported-by: Phil Carmody
    Cc: Anand Gadiyar
    Cc: Ajay Kumar Gupta
    Cc: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • commit 9bab0b7fbaceec47d32db51cd9e59c82fb071f5a upstream

    This adds a mechanism to resume selected IRQs during syscore_resume
    instead of dpm_resume_noirq.

    Under Xen we need to resume IRQs associated with IPIs early enough
    that the resched IPI is unmasked and we can therefore schedule
    ourselves out of the stop_machine where the suspend/resume takes
    place.

    This issue was introduced by 676dc3cf5bc3 "xen: Use IRQF_FORCE_RESUME".

    Back ported to 2.6.32 (which lacks syscore support) by calling the relavant
    resume function directly from sysdev_resume).

    Signed-off-by: Ian Campbell
    Cc: Rafael J. Wysocki
    Cc: Jeremy Fitzhardinge
    Cc: xen-devel
    Cc: Konrad Rzeszutek Wilk
    Link: http://lkml.kernel.org/r/1318713254.11016.52.camel@dagon.hellion.org.uk
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Ian Campbell
     
  • There is no upstream commit ID for this patch since it is not a straight
    backport from upstream. It is a fix only relevant to 2.6.32.y.

    Since 1d5f066e0b63271b67eac6d3752f8aa96adcbddb from 2.6.37 was
    back-ported to 2.6.32.40 as ad2088cabe0fd7f633f38ba106025d33ed9a2105,
    the following patch is needed to add the needed reset logic to 2.6.32 as
    well.

    Bug #23257: Reset tsc_timestamp on TSC writes

    vcpu->last_guest_tsc is updated in vcpu_enter_guest() and kvm_arch_vcpu_put()
    by getting the last value of the TSC from the guest.
    On reset, the SeaBIOS resets the TSC to 0, which triggers a bug on the next
    call to kvm_write_guest_time(): Since vcpu->hw_clock.tsc_timestamp still
    contains the old value before the reset, "max_kernel_ns = vcpu->last_guest_tsc
    - vcpu->hw_clock.tsc_timestamp" gets negative. Since the variable is u64, it
    gets translated to a large positive value.

    [9333.197080]
    vcpu->last_guest_tsc =209_328_760_015 ←
    vcpu->hv_clock.tsc_timestamp=209_328_708_109
    vcpu->last_kernel_ns =9_333_179_830_643
    kernel_ns =9_333_197_073_429
    max_kernel_ns =9_333_179_847_943 ←

    [9336.910995]
    vcpu->last_guest_tsc =9_438_510_584 ←
    vcpu->hv_clock.tsc_timestamp=211_080_593_143
    vcpu->last_kernel_ns =9_333_763_732_907
    kernel_ns =9_336_910_990_771
    max_kernel_ns =6_148_296_831_006_663_830 ←

    For completeness, here are the values for my 3 GHz CPU:
    vcpu->hv_clock.tsc_shift =-1
    vcpu->hv_clock.tsc_to_system_mul =2_863_019_502

    This makes the guest kernel crawl very slowly when clocksource=kvmclock is
    used: sleeps take way longer than expected and don't match wall clock any more.
    The times printed with printk() don't match real time and the reboot often
    stalls for long times.

    In linux-git this isn't a problem, since on every MSR_IA32_TSC write
    vcpu->arch.hv_clock.tsc_timestamp is reset to 0, which disables above logic.
    The code there is only in arch/x86/kvm/x86.c, since much of the kvm-clock
    related code has been refactured for 2.6.37:
    99e3e30a arch/x86/kvm/x86.c
    (Zachary Amsden 2010-08-19 22:07:17 -1000 1084)
    vcpu->arch.hv_clock.tsc_timestamp = 0;

    Signed-off-by: Philipp Hahn
    Signed-off-by: Marcelo Tosatti
    Signed-off-by: Greg Kroah-Hartman

    Philipp Hahn
     
  • commit f611f2da99420abc973c32cdbddbf5c365d0a20c upstream.

    The patches missed an indirect use of IRQF_NO_SUSPEND pulled in via
    IRQF_TIMER. The following patch fixes the issue.

    With this fixlet PV guest migration works just fine. I also booted the
    entire series as a dom0 kernel and it appeared fine.

    Signed-off-by: Ian Campbell
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Greg Kroah-Hartman

    Ian Campbell
     
  • commit c10b61f0910466b4b99c266a7d76ac4390743fb5 upstream.

    Hi,

    A user reported a kernel bug when running a particular program that did
    the following:

    created 32 threads
    - each thread took a mutex, grabbed a global offset, added a buffer size
    to that offset, released the lock
    - read from the given offset in the file
    - created a new thread to do the same
    - exited

    The result is that cfq's close cooperator logic would trigger, as the
    threads were issuing I/O within the mean seek distance of one another.
    This workload managed to routinely trigger a use after free bug when
    walking the list of merge candidates for a particular cfqq
    (cfqq->new_cfqq). The logic used for merging queues looks like this:

    static void cfq_setup_merge(struct cfq_queue *cfqq, struct cfq_queue *new_cfqq)
    {
    int process_refs, new_process_refs;
    struct cfq_queue *__cfqq;

    /* Avoid a circular list and skip interim queue merges */
    while ((__cfqq = new_cfqq->new_cfqq)) {
    if (__cfqq == cfqq)
    return;
    new_cfqq = __cfqq;
    }

    process_refs = cfqq_process_refs(cfqq);
    /*
    * If the process for the cfqq has gone away, there is no
    * sense in merging the queues.
    */
    if (process_refs == 0)
    return;

    /*
    * Merge in the direction of the lesser amount of work.
    */
    new_process_refs = cfqq_process_refs(new_cfqq);
    if (new_process_refs >= process_refs) {
    cfqq->new_cfqq = new_cfqq;
    atomic_add(process_refs, &new_cfqq->ref);
    } else {
    new_cfqq->new_cfqq = cfqq;
    atomic_add(new_process_refs, &cfqq->ref);
    }
    }

    When a merge candidate is found, we add the process references for the
    queue with less references to the queue with more. The actual merging
    of queues happens when a new request is issued for a given cfqq. In the
    case of the test program, it only does a single pread call to read in
    1MB, so the actual merge never happens.

    Normally, this is fine, as when the queue exits, we simply drop the
    references we took on the other cfqqs in the merge chain:

    /*
    * If this queue was scheduled to merge with another queue, be
    * sure to drop the reference taken on that queue (and others in
    * the merge chain). See cfq_setup_merge and cfq_merge_cfqqs.
    */
    __cfqq = cfqq->new_cfqq;
    while (__cfqq) {
    if (__cfqq == cfqq) {
    WARN(1, "cfqq->new_cfqq loop detected\n");
    break;
    }
    next = __cfqq->new_cfqq;
    cfq_put_queue(__cfqq);
    __cfqq = next;
    }

    However, there is a hole in this logic. Consider the following (and
    keep in mind that each I/O keeps a reference to the cfqq):

    q1->new_cfqq = q2 // q2 now has 2 process references
    q3->new_cfqq = q2 // q2 now has 3 process references

    // the process associated with q2 exits
    // q2 now has 2 process references

    // queue 1 exits, drops its reference on q2
    // q2 now has 1 process reference

    // q3 exits, so has 0 process references, and hence drops its references
    // to q2, which leaves q2 also with 0 process references

    q4 comes along and wants to merge with q3

    q3->new_cfqq still points at q2! We follow that link and end up at an
    already freed cfqq.

    So, the fix is to not follow a merge chain if the top-most queue does
    not have a process reference, otherwise any queue in the chain could be
    already freed. I also changed the logic to disallow merging with a
    queue that does not have any process references. Previously, we did
    this check for one of the merge candidates, but not the other. That
    doesn't really make sense.

    Without the attached patch, my system would BUG within a couple of
    seconds of running the reproducer program. With the patch applied, my
    system ran the program for over an hour without issues.

    This addresses the following bugzilla:
    https://bugzilla.kernel.org/show_bug.cgi?id=16217

    Thanks a ton to Phil Carns for providing the bug report and an excellent
    reproducer.

    [ Note for stable: this applies to 2.6.32/33/34 ].

    Signed-off-by: Jeff Moyer
    Reported-by: Phil Carns
    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jeff Moyer
     
  • commit e00ef7997195e4f8e10593727a6286e2e2802159 upstream

    We need to rework this logic post the cooperating cfq_queue merging,
    for now just get rid of it and Jeff Moyer will fix the fall out.

    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jens Axboe
     
  • commit e6c5bc737ab71e4af6025ef7d150f5a26ae5f146 upstream.

    cfq_queues are merged if they are issuing requests within the mean seek
    distance of one another. This patch detects when the coopearting stops and
    breaks the queues back up.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jeff Moyer
     
  • commit b3b6d0408c953524f979468562e7e210d8634150 upstream

    The flag used to indicate that a cfqq was allowed to jump ahead in the
    scheduling order due to submitting a request close to the queue that
    just executed. Since closely cooperating queues are now merged, the flag
    holds little meaning. Change it to indicate that multiple queues were
    merged. This will later be used to allow the breaking up of merged queues
    when they are no longer cooperating.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jeff Moyer
     
  • commit df5fe3e8e13883f58dc97489076bbcc150789a21 upstream.

    When cooperating cfq_queues are detected currently, they are allowed to
    skip ahead in the scheduling order. It is much more efficient to
    automatically share the cfq_queue data structure between cooperating processes.
    Performance of the read-test2 benchmark (which is written to emulate the
    dump(8) utility) went from 12MB/s to 90MB/s on my SATA disk. NFS servers
    with multiple nfsd threads also saw performance increases.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jeff Moyer
     
  • commit b2c18e1e08a5a9663094d57bb4be2f02226ee61c upstream.

    async cfq_queue's are already shared between processes within the same
    priority, and forthcoming patches will change the mapping of cic to sync
    cfq_queue from 1:1 to 1:N. So, calculate the seekiness of a process
    based on the cfq_queue instead of the cfq_io_context.

    Signed-off-by: Jeff Moyer
    Signed-off-by: Jens Axboe
    Signed-off-by: Suresh Jayaraman
    Signed-off-by: Greg Kroah-Hartman

    Jeff Moyer
     
  • commit 8535639810e578960233ad39def3ac2157b0c3ec upstream.

    ubd_file_size() cannot use ubd_dev->cow.file because at this time
    ubd_dev->cow.file is not initialized.
    Therefore, ubd_file_size() will always report a wrong disk size when
    COW files are used.
    Reading from /dev/ubd* would crash the kernel.

    We have to read the correct disk size from the COW file's backing
    file.

    Signed-off-by: Richard Weinberger
    Signed-off-by: Greg Kroah-Hartman

    Richard Weinberger
     
  • commit 6571534b600b8ca1936ff5630b9e0947f21faf16 upstream.

    To configure pads during the initialisation a set of special constants
    is used, e.g.
    #define MX25_PAD_FEC_MDIO__FEC_MDIO IOMUX_PAD(0x3c4, 0x1cc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP)

    The problem is that no pull-up/down is getting activated unless both
    PAD_CTL_PUE (pull-up enable) and PAD_CTL_PKE (pull/keeper module
    enable) set. This is clearly stated in the i.MX25 datasheet and is
    confirmed by the measurements on hardware. This leads to some rather
    hard to understand bugs such as misdetecting an absent ethernet PHY (a
    real bug i had), unstable data transfer etc. This might affect mx25,
    mx35, mx50, mx51 and mx53 SoCs.

    It's reasonable to expect that if the pullup value is specified, the
    intention was to have it actually active, so we implicitly add the
    needed bits.

    Signed-off-by: Paul Fertser
    Signed-off-by: Sascha Hauer
    Signed-off-by: Greg Kroah-Hartman

    Paul Fertser
     
  • commit 9bed77ee2fb46b74782d0d9d14b92e9d07f3df6e upstream.

    This device is not using the proper demod IF. Instead of using the
    IF macro, it is specifying a IF frequency. This doesn't work, as xc3028
    needs to load an specific SCODE for the tuner. In this case, there's
    no IF table for 5 MHz.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Mauro Carvalho Chehab
     
  • commit d59a7b1dbce8b972ec2dc9fcaaae0bfa23687423 upstream.

    If the bus has been reset on resume, set the alternate setting to 0.
    This should be the default value, but some devices crash or otherwise
    misbehave if they don't receive a SET_INTERFACE request before any other
    video control request.

    Microdia's 0c45:6437 camera has been found to require this change or it
    will stop sending video data after resume.

    uvc_video.c]

    Signed-off-by: Ming Lei
    Signed-off-by: Laurent Pinchart
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Greg Kroah-Hartman

    Ming Lei
     
  • commit c84c14224bbca6ec60d5851fcc87be0e34df2f44 upstream.

    The third parameter of module_param is supposed to be an octal value.
    The missing leading "0" causes the following:

    $ ls -l /sys/module/carminefb/parameters/
    total 0
    -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_displays
    -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_mode
    -rw-rwxr-- 1 root root 4096 Jul 8 08:55 fb_mode_str

    After fixing the perm parameter, we get the expected:

    $ ls -l /sys/module/carminefb/parameters/
    total 0
    -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_displays
    -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_mode
    -r--r--r-- 1 root root 4096 Jul 8 08:56 fb_mode_str

    Signed-off-by: Jean Delvare
    Cc: Paul Mundt
    Cc: Sebastian Siewior
    Signed-off-by: Paul Mundt
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     
  • commit fcd0861db1cf4e6ed99f60a815b7b72c2ed36ea4 upstream.

    The shift direction was wrong because the function takes a
    page number and i is the address is the loop.

    Signed-off-by: Joerg Roedel
    Signed-off-by: Greg Kroah-Hartman

    Joerg Roedel
     
  • commit dbdf1afcaaabe83dea15a3cb9b9013e73ae3b1ad upstream.

    Put sysfs attributes of ccwgroup devices in an attribute group to
    ensure that these attributes are actually present when userspace
    is notified via uevents.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Greg Kroah-Hartman

    Sebastian Ott
     
  • commit 4d47555a80495657161a7e71ec3014ff2021e450 upstream.

    We use the cpu id provided by userspace as array index here. Thus we
    clearly need to check it first. Ooops.

    Signed-off-by: Carsten Otte
    Signed-off-by: Christian Borntraeger
    Signed-off-by: Marcelo Tosatti
    Signed-off-by: Greg Kroah-Hartman

    Carsten Otte
     
  • commit 7c04241acbdaf97f1448dcccd27ea0fcd1a57684 upstream.

    ak4535_reg should be 8bit, but cache table is defined as 16bit.

    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     
  • commit 19b115e523208a926813751aac8934cf3fc6085e upstream.

    ak4642 register was 8bit, but cache table was defined as 16bit.
    ak4642 doesn't work correctry without this patch.

    Signed-off-by: Kuninori Morimoto
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Kuninori Morimoto
     
  • commit 5927f94700e860ae27ff24e7f3bc9e4f7b9922eb upstream.

    Reported-by: Chris Paulson-Ellis
    Signed-off-by: Axel Lin
    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin