1. 05 Mar, 2020 4 commits
  2. 19 Feb, 2020 1 commit
  3. 18 Feb, 2020 3 commits
  4. 17 Feb, 2020 4 commits
  5. 14 Feb, 2020 5 commits
  6. 13 Feb, 2020 3 commits
  7. 12 Feb, 2020 3 commits
  8. 11 Feb, 2020 3 commits
    • Arvind Sankar's avatar
      ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 · 93f9d1a4
      Arvind Sankar authored
      The Audioengine D1 (0x2912:0x30c8) does support reading the sample rate,
      but it returns the rate in byte-reversed order.
      
      When setting sampling rate, the driver produces these warning messages:
      [168840.944226] usb 3-2.2: current rate 4500480 is different from the runtime rate 44100
      [168854.930414] usb 3-2.2: current rate 8436480 is different from the runtime rate 48000
      [168905.185825] usb 3-2.1.2: current rate 30465 is different from the runtime rate 96000
      
      As can be seen from the hexadecimal conversion, the current rate read
      back is byte-reversed from the rate that was set.
      
      44100 == 0x00ac44, 4500480 == 0x44ac00
      48000 == 0x00bb80, 8436480 == 0x80bb00
      96000 == 0x017700,   30465 == 0x007701
      
      Rather than implementing a new quirk to reverse the order, just skip
      checking the rate to avoid spamming the log.
      Signed-off-by: default avatarArvind Sankar <nivedita@alum.mit.edu>
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20200211162235.1639889-1-nivedita@alum.mit.eduSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      93f9d1a4
    • Takashi Iwai's avatar
      ALSA: usb-audio: Fix UAC2/3 effect unit parsing · d75a170f
      Takashi Iwai authored
      We've got a regression report about M-Audio Fast Track C400 device,
      and the git bisection resulted in the commit e0ccdef9 ("ALSA:
      usb-audio: Clean up check_input_term()").  This commit was about the
      rewrite of the input terminal parser, and it's not too obvious from
      the change what really broke.  The answer is: it's the interpretation
      of UAC2/3 effect units.
      
      In the original code, UAC2 effect unit is as if through UAC1
      processing unit because both UAC1 PU and UAC2/3 EU share the same
      number (0x07).  The old code went through a complex switch-case
      fallthrough, finally bailing out in the middle:
      
        if (protocol == UAC_VERSION_2 &&
            hdr[2] == UAC2_EFFECT_UNIT) {
               /* UAC2/UAC1 unit IDs overlap here in an
                * uncompatible way. Ignore this unit for now.
                */
               return 0;
         }
      
      ... and this special handling was missing in the new code; the new
      code treats UAC2/3 effect unit as if it were equivalent with the
      processing unit.
      
      Actually, the old code was too confusing.  The effect unit has an
      incompatible unit description with the processing unit, so we
      shouldn't have dealt with EU in the same way.
      
      This patch addresses the regression by changing the effect unit
      handling to the own parser function.  The own parser function makes
      the clear distinct with PU, so it improves the readability, too.
      
      The EU parser just sets the type and the id like the old kernels.
      Once when the proper effect unit support is added, we can revisit this
      parser function, but for now, let's keep this simple setup as is.
      
      Fixes: e0ccdef9 ("ALSA: usb-audio: Clean up check_input_term()")
      Cc: <stable@vger.kernel.org>
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206147
      Link: https://lore.kernel.org/r/20200211160521.31990-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      d75a170f
    • Takashi Iwai's avatar
      ALSA: usb-audio: Apply 48kHz fixed rate playback for Jabra Evolve 65 headset · 74f73476
      Takashi Iwai authored
      Jabra Evolve 65 headset appears as if supporting lower rates than
      48kHz, but it actually doesn't work but with 48kHz for playback.
      
      This patch applies a workaround to enforce the 48kHz like LINE6
      devices already did.  The workaround is put in a unified helper
      function, set_fixed_rate(), to be called from both places now.
      
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=206149
      Link: https://lore.kernel.org/r/20200211111419.5895-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      74f73476
  9. 10 Feb, 2020 6 commits
  10. 09 Feb, 2020 8 commits
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 380a129e
      Linus Torvalds authored
      Pull new zonefs file system from Damien Le Moal:
       "Zonefs is a very simple file system exposing each zone of a zoned
        block device as a file.
      
        Unlike a regular file system with native zoned block device support
        (e.g. f2fs or the on-going btrfs effort), zonefs does not hide the
        sequential write constraint of zoned block devices to the user. As a
        result, zonefs is not a POSIX compliant file system. Its goal is to
        simplify the implementation of zoned block devices support in
        applications by replacing raw block device file accesses with a richer
        file based API, avoiding relying on direct block device file ioctls
        which may be more obscure to developers.
      
        One example of this approach is the implementation of LSM
        (log-structured merge) tree structures (such as used in RocksDB and
        LevelDB) on zoned block devices by allowing SSTables to be stored in a
        zone file similarly to a regular file system rather than as a range of
        sectors of a zoned device. The introduction of the higher level
        construct "one file is one zone" can help reducing the amount of
        changes needed in the application while at the same time allowing the
        use of zoned block devices with various programming languages other
        than C.
      
        Zonefs IO management implementation uses the new iomap generic code.
        Zonefs has been successfully tested using a functional test suite
        (available with zonefs userland format tool on github) and a prototype
        implementation of LevelDB on top of zonefs"
      
      * tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: Add documentation
        fs: New zonefs file system
      380a129e
    • Marc Zyngier's avatar
      irqchip/gic-v4.1: Avoid 64bit division for the sake of 32bit ARM · 490d332e
      Marc Zyngier authored
      In order to allow the GICv4 code to link properly on 32bit ARM,
      make sure we don't use 64bit divisions when it isn't strictly
      necessary.
      
      Fixes: 4e6437f1 ("irqchip/gic-v4.1: Ensure L2 vPE table is allocated at RD level")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Cc: Zenghui Yu <yuzenghui@huawei.com>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      490d332e
    • Linus Torvalds's avatar
      Merge tag '5.6-rc-smb3-plugfest-patches' of git://git.samba.org/sfrench/cifs-2.6 · d1ea35f4
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "13 cifs/smb3 patches, most from testing at the SMB3 plugfest this week:
      
         - Important fix for multichannel and for modefromsid mounts.
      
         - Two reconnect fixes
      
         - Addition of SMB3 change notify support
      
         - Backup tools fix
      
         - A few additional minor debug improvements (tracepoints and
           additional logging found useful during testing this week)"
      
      * tag '5.6-rc-smb3-plugfest-patches' of git://git.samba.org/sfrench/cifs-2.6:
        smb3: Add defines for new information level, FileIdInformation
        smb3: print warning once if posix context returned on open
        smb3: add one more dynamic tracepoint missing from strict fsync path
        cifs: fix mode bits from dir listing when mounted with modefromsid
        cifs: fix channel signing
        cifs: add SMB3 change notification support
        cifs: make multichannel warning more visible
        cifs: fix soft mounts hanging in the reconnect code
        cifs: Add tracepoints for errors on flush or fsync
        cifs: log warning message (once) if out of disk space
        cifs: fail i/o on soft mounts if sessionsetup errors out
        smb3: fix problem with null cifs super block with previous patch
        SMB3: Backup intent flag missing from some more ops
      d1ea35f4
    • Linus Torvalds's avatar
      Merge branch 'work.vboxsf' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5586c3c1
      Linus Torvalds authored
      Pull vboxfs from Al Viro:
       "This is the VirtualBox guest shared folder support by Hans de Goede,
        with fixups for fs_parse folded in to avoid bisection hazards from
        those API changes..."
      
      * 'work.vboxsf' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: Add VirtualBox guest shared folder (vboxsf) support
      5586c3c1
    • Linus Torvalds's avatar
      Merge tag 'x86-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a2a76c2
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "A set of fixes for X86:
      
         - Ensure that the PIT is set up when the local APIC is disable or
           configured in legacy mode. This is caused by an ordering issue
           introduced in the recent changes which skip PIT initialization when
           the TSC and APIC frequencies are already known.
      
         - Handle malformed SRAT tables during early ACPI parsing which caused
           an infinite loop anda boot hang.
      
         - Fix a long standing race in the affinity setting code which affects
           PCI devices with non-maskable MSI interrupts. The problem is caused
           by the non-atomic writes of the MSI address (destination APIC id)
           and data (vector) fields which the device uses to construct the MSI
           message. The non-atomic writes are mandated by PCI.
      
           If both fields change and the device raises an interrupt after
           writing address and before writing data, then the MSI block
           constructs a inconsistent message which causes interrupts to be
           lost and subsequent malfunction of the device.
      
           The fix is to redirect the interrupt to the new vector on the
           current CPU first and then switch it over to the new target CPU.
           This allows to observe an eventually raised interrupt in the
           transitional stage (old CPU, new vector) to be observed in the APIC
           IRR and retriggered on the new target CPU and the new vector.
      
           The potential spurious interrupts caused by this are harmless and
           can in the worst case expose a buggy driver (all handlers have to
           be able to deal with spurious interrupts as they can and do happen
           for various reasons).
      
         - Add the missing suspend/resume mechanism for the HYPERV hypercall
           page which prevents resume hibernation on HYPERV guests. This
           change got lost before the merge window.
      
         - Mask the IOAPIC before disabling the local APIC to prevent
           potentially stale IOAPIC remote IRR bits which cause stale
           interrupt lines after resume"
      
      * tag 'x86-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Mask IOAPIC entries when disabling the local APIC
        x86/hyperv: Suspend/resume the hypercall page for hibernation
        x86/apic/msi: Plug non-maskable MSI affinity race
        x86/boot: Handle malformed SRAT tables during early ACPI parsing
        x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode
      1a2a76c2
    • Linus Torvalds's avatar
      Merge tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f4137760
      Linus Torvalds authored
      Pull SMP fixes from Thomas Gleixner:
       "Two fixes for the SMP related functionality:
      
         - Make the UP version of smp_call_function_single() match SMP
           semantics when called for a not available CPU. Instead of emitting
           a warning and assuming that the function call target is CPU0,
           return a proper error code like the SMP version does.
      
         - Remove a superfluous check in smp_call_function_many_cond()"
      
      * tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp/up: Make smp_call_function_single() match SMP semantics
        smp: Remove superfluous cond_func check in smp_call_function_many_cond()
      f4137760
    • Linus Torvalds's avatar
      Merge tag 'perf-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ca21b9b3
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "A set of fixes and improvements for the perf subsystem:
      
        Kernel fixes:
      
         - Install cgroup events to the correct CPU context to prevent a
           potential list double add
      
         - Prevent an integer underflow in the perf mlock accounting
      
         - Add a missing prototype for arch_perf_update_userpage()
      
        Tooling:
      
         - Add a missing unlock in the error path of maps__insert() in perf
           maps.
      
         - Fix the build with the latest libbfd
      
         - Fix the perf parser so it does not delete parse event terms, which
           caused a regression for using perf with the ARM CoreSight as the
           sink configuration was missing due to the deletion.
      
         - Fix the double free in the perf CPU map merging test case
      
         - Add the missing ustring support for the perf probe command"
      
      * tag 'perf-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf maps: Add missing unlock to maps__insert() error case
        perf probe: Add ustring support for perf probe command
        perf: Make perf able to build with latest libbfd
        perf test: Fix test case Merge cpu map
        perf parse: Copy string to perf_evsel_config_term
        perf parse: Refactor 'struct perf_evsel_config_term'
        kernel/events: Add a missing prototype for arch_perf_update_userpage()
        perf/cgroups: Install cgroup events to correct cpuctx
        perf/core: Fix mlock accounting in perf_mmap()
      ca21b9b3
    • Linus Torvalds's avatar
      Merge tag 'timers-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2fbc23c7
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "Two small fixes for the time(r) subsystem:
      
         - Handle a subtle race between the clocksource watchdog and a
           concurrent clocksource watchdog stop/start sequence correctly to
           prevent a timer double add bug.
      
         - Fix the file path for the core time namespace file"
      
      * tag 'timers-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: Prevent double add_timer_on() for watchdog_timer
        MAINTAINERS: Correct path to time namespace source file
      2fbc23c7