02 Apr, 2016

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of small fixes:

    - a fix in ALSA timer core to avoid possible BUG() trigger
    - a fix in ALSA timer core 32bit compat layer
    - a few HD-audio quirks for ASUS and HP machines
    - AMD HD-audio HDMI controller quirks
    - fixes of USB-audio double-free at some error paths
    - a fix for memory leak in DICE driver at hotunplug"

    * tag 'sound-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: timer: Use mod_timer() for rearming the system timer
    ALSA: hda - fix front mic problem for a HP desktop
    ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
    ALSA: hda: add AMD Polaris-10/11 AZ PCI IDs with proper driver caps
    ALSA: dice: fix memory leak when unplugging
    ALSA: hda - Apply fix for white noise on Asus N550JV, too
    ALSA: hda - Fix white noise on Asus N750JV headphone
    ALSA: hda - Asus N750JV external subwoofer fixup
    ALSA: timer: fix gparams ioctl compatibility for different architectures

    Linus Torvalds
     

01 Apr, 2016

3 commits

  • ALSA system timer backend stops the timer via del_timer() without sync
    and leaves del_timer_sync() at the close instead. This is because of
    the restriction by the design of ALSA timer: namely, the stop callback
    may be called from the timer handler, and calling the sync shall lead
    to a hangup. However, this also triggers a kernel BUG() when the
    timer is rearmed immediately after stopping without sync:
    kernel BUG at kernel/time/timer.c:966!
    Call Trace:

    [] snd_timer_s_start+0x13e/0x1a0
    [] snd_timer_interrupt+0x504/0xec0
    [] ? debug_check_no_locks_freed+0x290/0x290
    [] snd_timer_s_function+0xb4/0x120
    [] call_timer_fn+0x162/0x520
    [] ? call_timer_fn+0xcd/0x520
    [] ? snd_timer_interrupt+0xec0/0xec0
    ....

    It's the place where add_timer() checks the pending timer. It's clear
    that this may happen after the immediate restart without sync in our
    cases.

    So, the workaround here is just to use mod_timer() instead of
    add_timer(). This looks like a band-aid fix, but it's a right move,
    as snd_timer_interrupt() takes care of the continuous rearm of timer.

    Reported-by: Jiri Slaby
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • The front mic jack (pink color) can't detect any plug or unplug. After
    applying this fix, both detecting function and recording function
    work well.

    BugLink: https://bugs.launchpad.net/bugs/1564712
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang
     
  • create_fixed_stream_quirk(), snd_usb_parse_audio_interface() and
    create_uaxx_quirk() functions allocate the audioformat object by themselves
    and free it upon error before returning. However, once the object is linked
    to a stream, it's freed again in snd_usb_audio_pcm_free(), thus it'll be
    double-freed, eventually resulting in a memory corruption.

    This patch fixes these failures in the error paths by unlinking the audioformat
    object before freeing it.

    Based on a patch by Takashi Iwai

    [Note for stable backports:
    this patch requires the commit 902eb7fd1e4a ('ALSA: usb-audio: Minor
    code cleanup in create_fixed_stream_quirk()')]

    Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1283358
    Reported-by: Ralf Spenneberg
    Cc: # see the note above
    Signed-off-by: Vladis Dronov
    Signed-off-by: Takashi Iwai

    Vladis Dronov
     

31 Mar, 2016

1 commit


28 Mar, 2016

1 commit

  • When sound card is going to be released, dice private data is
    also released. Then all of data should be released. However,
    stream data is not released. This causes memory leak when
    unplugging dice unit.

    This commit fixes the bug.

    Fixes: 4bdc495c87b3('ALSA: dice: handle several PCM substreams when any isochronous streams are available')
    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     

23 Mar, 2016

5 commits

  • Apply the new fixup that is used for ASUS N750JV to another similar
    model, N500JV, too, for reducing the headphone noise.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115181
    Signed-off-by: Bobi Mihalca
    Cc:
    Signed-off-by: Takashi Iwai

    Bobi Mihalca
     
  • For reducing the noise from the headphone output on ASUS N750JV,
    call the existing fixup, alc_fixup_auto_mute_via_amp(), additionally.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115181
    Signed-off-by: Bobi Mihalca
    Cc:
    Signed-off-by: Takashi Iwai

    Bobi Mihalca
     
  • ASUS N750JV needs the same fixup as N550 for enabling its subwoofer.

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115181
    Signed-off-by: Bobi Mihalca
    Cc:
    Signed-off-by: Takashi Iwai

    Bobi Mihalca
     
  • 'struct snd_timer_gparams' includes some members with 'unsigned long',
    therefore its size differs depending on data models of architecture. As
    a result, x86/x32 applications fail to execute ioctl(2) with
    SNDRV_TIMER_GPARAMS command on x86_64 machine.

    This commit fixes this bug by adding a pair of structure and ioctl
    command for the compatibility.

    Signed-off-by: Takashi Sakamoto
    Signed-off-by: Takashi Iwai

    Takashi Sakamoto
     
  • Pull sound fixes from Takashi Iwai:
    "The previous pull request introduced a few WARN_ON() for Intel
    HD-audio HDMI. Indeed it caught bugs, and now users get annoyed. So
    this request came up: a collection of small fixes to paper over the
    inconsistencies on (mostly) old Intel chipsets.

    In addition, a trivial USB-audio quirk is included, too"

    * tag 'sound-fix-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix missing ELD update at unplugging
    ALSA: usb-audio: add Microsoft HD-5001 to quirks
    ALSA: hda - Workaround for unbalanced i915 power refcount by concurrent probe
    ALSA: hda - Fix spurious kernel WARNING on Baytrail HDMI
    ALSA: hda - Fix forgotten HDMI monitor_present update
    ALSA: hda - Really restrict i915 notifier to HSW+

    Linus Torvalds
     

21 Mar, 2016

1 commit

  • i915 get_eld ops may return an error when no encoder is connected, and
    currently we regard the error as fatal and skip the whole ELD
    handling. This ended up with the missing ELD update at unplugging.

    This patch fixes the issue by treating the error as the unplugged
    state, instead of skipping the rest.

    Reported-by: Libin Yang
    Cc: # v4.5
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

20 Mar, 2016

2 commits

  • The Microsoft HD-5001 webcam microphone does not support sample rate
    reading as the HD-5000 one.
    This results in dmesg errors and sound hanging with pulseaudio.

    Signed-off-by: Victor Clément
    Cc:
    Signed-off-by: Takashi Iwai

    Victor Clément
     
  • The recent addition of on-demand i915 audio component binding in the
    codec driver seems leading to the unbalanced i915 power refcount,
    according to Intel CI tests. Typically, it gets a kernel WARNING
    like:
    WARNING: CPU: 3 PID: 173 at sound/hda/hdac_i915.c:91 snd_hdac_display_power+0xf1/0x110 [snd_hda_core]()
    Call Trace:
    [] dump_stack+0x67/0x92
    [] warn_slowpath_common+0x81/0xc0
    [] warn_slowpath_null+0x15/0x20
    [] snd_hdac_display_power+0xf1/0x110 [snd_hda_core]
    [] azx_intel_link_power+0xd/0x10 [snd_hda_intel]
    [] azx_link_power+0x1a/0x30 [snd_hda_codec]
    [] snd_hdac_link_power+0x29/0x40 [snd_hda_core]
    [] hda_codec_runtime_suspend+0x76/0xa0 [snd_hda_codec]
    .....

    The scenario is like below:
    - HD-audio driver and i915 driver are probed concurrently at the
    (almost) same time; HDA bus tries to bind with i915, but it fails
    because i915 initialization is still being processed.
    - Later on, HD-audio probes the HDMI codec, where it again tries to
    bind with i915. At this time, it succeeds.
    - At finishing the probe of HDA, it decreases the refcount as if it
    were already bound at the bus probe, since the component is bound
    now. This triggers a kernel WARNING due to the unbalance.

    As a workaround, in this patch, we just disable the on-demand i915
    component binding in the codec driver. This essentially reverts back
    to the state of 4.4 kernel.

    We know that this is no real solution, but it's a minimalistic simple
    change that can be applied to 4.5.x kernel as stable.

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94566
    Reported-by: Ville Syrjälä
    Cc: # v4.5
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

19 Mar, 2016

4 commits

  • Merge second patch-bomb from Andrew Morton:

    - a couple of hotfixes

    - the rest of MM

    - a new timer slack control in procfs

    - a couple of procfs fixes

    - a few misc things

    - some printk tweaks

    - lib/ updates, notably to radix-tree.

    - add my and Nick Piggin's old userspace radix-tree test harness to
    tools/testing/radix-tree/. Matthew said it was a godsend during the
    radix-tree work he did.

    - a few code-size improvements, switching to __always_inline where gcc
    screwed up.

    - partially implement character sets in sscanf

    * emailed patches from Andrew Morton : (118 commits)
    sscanf: implement basic character sets
    lib/bug.c: use common WARN helper
    param: convert some "on"/"off" users to strtobool
    lib: add "on"/"off" support to kstrtobool
    lib: update single-char callers of strtobool()
    lib: move strtobool() to kstrtobool()
    include/linux/unaligned: force inlining of byteswap operations
    include/uapi/linux/byteorder, swab: force inlining of some byteswap operations
    include/asm-generic/atomic-long.h: force inlining of some atomic_long operations
    usb: common: convert to use match_string() helper
    ide: hpt366: convert to use match_string() helper
    ata: hpt366: convert to use match_string() helper
    power: ab8500: convert to use match_string() helper
    power: charger_manager: convert to use match_string() helper
    drm/edid: convert to use match_string() helper
    pinctrl: convert to use match_string() helper
    device property: convert to use match_string() helper
    lib/string: introduce match_string() helper
    radix-tree tests: add test for radix_tree_iter_next
    radix-tree tests: add regression3 test
    ...

    Linus Torvalds
     
  • snd_hdac_sync_audio_rate() call is mandatory only for HSW and later
    models, but we call the function unconditionally blindly assuming that
    the function doesn't do anything harmful. But since recently, the
    function checks the validity of the passed pin NID, and eventually
    spews the warning if an unexpected pin is passed. This is seen on old
    chips like Baytrail.

    The fix is to limit the call of this function again only for the chips
    with the proper binding. This can be identified by the same flag as
    the eld notifier.

    Reported-by: Ville Syrjälä
    Tested-by: Ville Syrjälä
    Cc: # v4.5
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Pull sound updates from Takashi Iwai:
    "After a heavy storm by syzkaller in 4.5 cycle, we have relatively few
    changes in the core at this time while a lot of changes are found in
    the driver side, unsurprisingly. Below are some highlights:

    ALSA core:
    - A few more hardening in ALSA timer codes
    - An extension of sequencer API for advertising the card / pid
    - Small fixes in compress-offload and jack layers

    HD-audio:
    - Dynamic PCM assignment in HDMI/DP codec; preparation for upcoming
    DP-MST support
    - Lots of code refactoring for sharing with ASoC SKL driver
    - Regression fixes for Intel HDMI/DP
    - Fixups for CX20724 codec, Lenovo AiO

    USB-audio:
    - Add quirk_alias option to make quirk debugging easier
    - Fixes for possible Oops by malformed firmware

    Firewire:
    - Add support for FW-1804 in tascam driver
    - Improvements / changes in card registration, multi stream handling,
    etc for DICE
    - Lots of code refactoring

    ASoC:
    - Enhancements of still ongoing topology API
    - Lots of commits for Intel Skylake support including HDMI support
    - A few Intel Atom driver updates for recent devices
    - Lots of improvements to the Renesas drivers
    - Capture support for Qualcomm drivers
    - Support for TI DaVinci DRA7xxx devices
    - New machine drivers for Freescale systems with Cirrus CODECs,
    Mediatek systems with RT5650 CODECs
    - New CPU drivers for Allwinner S/PDIF controllers
    - New CODEC drivers for Maxim MAX9867 and MAX98926 and Realtek RT5514"

    * tag 'sound-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (291 commits)
    ALSA: hda - Fix mutex deadlock at HDMI/DP hotplug
    ALSA: ctl: change return value in compatibility layer so that it's the same value in core implementation
    ALSA: mixart: silence an uninitialized variable warning
    ALSA: usb-audio: Add sanity checks for endpoint accesses
    ALSA: usb-audio: Minor code cleanup in create_fixed_stream_quirk()
    ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk()
    ALSA: hda - Limit i915 HDMI binding only for HSW and later
    ALSA: hda - Fix unconditional GPIO toggle via automute
    ALSA: mixart: silence unitialized variable warnings
    ALSA: hda - Fixes double fault in nvhdmi_chmap_cea_alloc_validate_get_type
    ALSA: intel8x0: Add clock quirk entry for AD1981B on IBM ThinkPad X41.
    ALSA: hda - Add new GPU codec ID 0x10de0082 to snd-hda
    ASoC: rsnd: add simplified module explanation
    ASoC: hdac_hdmi: Add broxton device ID
    ASoC: Intel: Bxtn: Add Broxton PCI ID
    ASoC: Intel: Skylake: Move Skylake dsp ops & loader ops
    ASoC: Intel: add dmabuffer to common sst_dsp
    ASoC: Intel: Skylake: Unstatify skl_dsp_enable_core
    ASoC: Intel: Skylake: Fix whitepsace issues
    ASoC: Intel: Skylake: Move module id defines
    ...

    Linus Torvalds
     
  • We forgot to copy monitor_present value when updating the ELD
    information. This won't change the ELD retrieval and the jack
    notification behavior, but appears only in the proc output. In that
    sense, it's no fatal error, but a bug is a bug is a bug.

    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

18 Mar, 2016

2 commits

  • The commit [b62232d429fa: ALSA: hda - Limit i915 HDMI binding only for
    HSW and later] tried to limit the usage of i915 audio notifier to the
    recent Intel models and switch to the old method on pre-Haswell
    models. However, it assumed that the i915 component binding hasn't
    been done on such models, and the assumption was wrong: namely,
    Baytrail had already the i915 component binding due to powerwell
    control. Thus, the workaround wasn't applied to Baytrail.

    For fixing this properly, this patch introduces a new flag indicating
    the usage of audio notifier and codec_has_acomp() refers to this flag
    instead of checking the existence of audio component.

    Reported-by: Ville Syrjälä
    Cc: # v4.5
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • We can disable debug_pagealloc processing even if the code is compiled
    with CONFIG_DEBUG_PAGEALLOC. This patch changes the code to query
    whether it is enabled or not in runtime.

    [akpm@linux-foundation.org: export _debug_pagealloc_enabled to modules]
    Signed-off-by: Joonsoo Kim
    Acked-by: David Rientjes
    Acked-by: Takashi Iwai
    Cc: Benjamin Herrenschmidt
    Cc: Chris Metcalf
    Cc: Christian Borntraeger
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joonsoo Kim
     

17 Mar, 2016

4 commits

  • The recent change in HD-audio HDMI/DP codec driver for allowing the
    dynamic PCM binding introduced a new spec->pcm_mutex. One of the
    protected area by this mutex is hdmi_present_sense(). As reported by
    Intel CI tests, unfortunately, the new mutex causes a deadlock when
    the hotplug/unplug is triggered during the codec is in runtime
    suspend. The buggy code path is like the following:

    hdmi_unsol_event() -> ...
    -> hdmi_present_sense()
    ==> ** here taking pcm_mutex
    -> hdmi_present_sense_via_verbs()
    -> snd_hda_power_up_pm() -> ... (runtime resume calls)
    -> generic_hdmi_resume()
    -> hdmi_present_sense()
    ==> ** here taking pcm_mutex again!

    As we can see here, the problem is that the mutex is taken before
    snd_hda_power_up_pm() call that triggers the runtime resume. That is,
    the obvious solution is to move the power up/down call outside the
    mutex; it is exactly what this patch provides.

    The patch also clarifies why this bug wasn't caught beforehand. We
    used to have the i915 audio component for hotplug for all Intel chips,
    and in that code path, there is no power up required but the
    information is taken directly from the graphics side. However, we
    recently switched back to the old method for some old Intel chips due
    to regressions, and now the deadlock issue is surfaced.

    Fixes: a76056f2e57e ('ALSA: hda - hdmi dynamically bind PCM to pin when monitor hotplug')
    Reported-by: Ville Syrjälä
    Tested-by: Ville Syrjälä
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • …e in core implementation

    In control compatibility layer, when no elements are found by
    ELEM_READ/ELEM_WRITE ioctl commands, ENXIO is returned. On the other hand,
    in core implementation, ENOENT is returned. This is not good for
    ALSA ctl applications.

    This commit changes the return value from the compatibility layer so
    that the same value is returned.

    Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>

    Takashi Sakamoto
     
  • Pull media updates from Mauro Carvalho Chehab:
    - Added support for some new video formats
    - mn88473 DVB frontend driver got promoted from staging
    - several improvements at the VSP1 driver
    - several cleanups and improvements at the Media Controller
    - added Media Controller support to snd-usb-audio. Currently, enabled
    only for au0828-based V4L2/DVB boards
    - Several improvements at nuvoton-cir: it now supports wake up codes
    - Add media controller support to em28xx and saa7134 drivers
    - coda driver now accepts NXP distributed firmware files
    - Some legacy SoC camera drivers will be moving to staging, as they're
    outdated and nobody so far is willing to fix and convert them to use
    the current media framework
    - As usual, lots of cleanups, improvements and new board additions.

    * tag 'media/v4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (381 commits)
    media: au0828 disable tuner to demod link in au0828_media_device_register()
    [media] touptek: cast char types on %x printk
    [media] touptek: don't DMA at the stack
    [media] mceusb: use %*ph for small buffer dumps
    [media] v4l: exynos4-is: Drop unneeded check when setting up fimc-lite links
    [media] v4l: vsp1: Check if an entity is a subdev with the right function
    [media] hide unused functions for !MEDIA_CONTROLLER
    [media] em28xx: fix Terratec Grabby AC97 codec detection
    [media] media: add prefixes to interface types
    [media] media: rc: nuvoton: switch attribute wakeup_data to text
    [media] v4l2-ioctl: fix YUV422P pixel format description
    [media] media: fix null pointer dereference in v4l_vb2q_enable_media_source()
    [media] v4l2-mc.h: fix yet more compiler errors
    [media] staging/media: add missing TODO files
    [media] media.h: always start with 1 for the audio entities
    [media] sound/usb: Use meaninful names for goto labels
    [media] v4l2-mc.h: fix compiler warnings
    [media] media: au0828 audio mixer isn't connected to decoder
    [media] sound/usb: Use Media Controller API to share media resources
    [media] dw2102: add support for TeVii S662
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes for v4.6:

    Enumeration:
    - Disable IO/MEM decoding for devices with non-compliant BARs (Bjorn Helgaas)
    - Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs (Bjorn Helgaas

    Resource management:
    - Mark shadow copy of VGA ROM as IORESOURCE_PCI_FIXED (Bjorn Helgaas)
    - Don't assign or reassign immutable resources (Bjorn Helgaas)
    - Don't enable/disable ROM BAR if we're using a RAM shadow copy (Bjorn Helgaas)
    - Set ROM shadow location in arch code, not in PCI core (Bjorn Helgaas)
    - Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs (Bjorn Helgaas)
    - ia64: Use ioremap() instead of open-coded equivalent (Bjorn Helgaas)
    - ia64: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
    - MIPS: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
    - Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY (Bjorn Helgaas)
    - Don't leak memory if sysfs_create_bin_file() fails (Bjorn Helgaas)
    - rcar: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)
    - designware: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)

    Virtualization:
    - Wait for up to 1000ms after FLR reset (Alex Williamson)
    - Support SR-IOV on any function type (Kelly Zytaruk)
    - Add ACS quirk for all Cavium devices (Manish Jaggi)

    AER:
    - Rename pci_ops_aer to aer_inj_pci_ops (Bjorn Helgaas)
    - Restore pci_ops pointer while calling original pci_ops (David Daney)
    - Fix aer_inject error codes (Jean Delvare)
    - Use dev_warn() in aer_inject (Jean Delvare)
    - Log actual error causes in aer_inject (Jean Delvare)
    - Log aer_inject error injections (Jean Delvare)

    VPD:
    - Prevent VPD access for buggy devices (Babu Moger)
    - Move pci_read_vpd() and pci_write_vpd() close to other VPD code (Bjorn Helgaas)
    - Move pci_vpd_release() from header file to pci/access.c (Bjorn Helgaas)
    - Remove struct pci_vpd_ops.release function pointer (Bjorn Helgaas)
    - Rename VPD symbols to remove unnecessary "pci22" (Bjorn Helgaas)
    - Fold struct pci_vpd_pci22 into struct pci_vpd (Bjorn Helgaas)
    - Sleep rather than busy-wait for VPD access completion (Bjorn Helgaas)
    - Update VPD definitions (Hannes Reinecke)
    - Allow access to VPD attributes with size 0 (Hannes Reinecke)
    - Determine actual VPD size on first access (Hannes Reinecke)

    Generic host bridge driver:
    - Move structure definitions to separate header file (David Daney)
    - Add pci_host_common_probe(), based on gen_pci_probe() (David Daney)
    - Expose pci_host_common_probe() for use by other drivers (David Daney)

    Altera host bridge driver:
    - Fix altera_pcie_link_is_up() (Ley Foon Tan)

    Cavium ThunderX host bridge driver:
    - Add PCIe host driver for ThunderX processors (David Daney)
    - Add driver for ThunderX-pass{1,2} on-chip devices (David Daney)

    Freescale i.MX6 host bridge driver:
    - Add DT bindings to configure PHY Tx driver settings (Justin Waters)
    - Move imx6_pcie_reset_phy() near other PHY handling functions (Lucas Stach)
    - Move PHY reset into imx6_pcie_establish_link() (Lucas Stach)
    - Remove broken Gen2 workaround (Lucas Stach)
    - Move link up check into imx6_pcie_wait_for_link() (Lucas Stach)

    Freescale Layerscape host bridge driver:
    - Add "fsl,ls2085a-pcie" compatible ID (Yang Shi)

    Intel VMD host bridge driver:
    - Attach VMD resources to parent domain's resource tree (Jon Derrick)
    - Set bus resource start to 0 (Keith Busch)

    Microsoft Hyper-V host bridge driver:
    - Add fwnode_handle to x86 pci_sysdata (Jake Oshins)
    - Look up IRQ domain by fwnode_handle (Jake Oshins)
    - Add paravirtual PCI front-end for Microsoft Hyper-V VMs (Jake Oshins)

    NVIDIA Tegra host bridge driver:
    - Add pci_ops.{add,remove}_bus() callbacks (Thierry Reding)
    - Implement ->{add,remove}_bus() callbacks (Thierry Reding)
    - Remove unused struct tegra_pcie.num_ports field (Thierry Reding)
    - Track bus -> CPU mapping (Thierry Reding)
    - Remove misleading PHYS_OFFSET (Thierry Reding)

    Renesas R-Car host bridge driver:
    - Depend on ARCH_RENESAS, not ARCH_SHMOBILE (Simon Horman)

    Synopsys DesignWare host bridge driver:
    - ARC: Add PCI support (Joao Pinto)
    - Add generic dw_pcie_wait_for_link() (Joao Pinto)
    - Add default link up check if sub-driver doesn't override (Joao Pinto)
    - Add driver for prototyping kits based on ARC SDP (Joao Pinto)

    TI Keystone host bridge driver:
    - Defer probing if devm_phy_get() returns -EPROBE_DEFER (Shawn Lin)

    Xilinx AXI host bridge driver:
    - Use of_pci_get_host_bridge_resources() to parse DT (Bharat Kumar Gogada)
    - Remove dependency on ARM-specific struct hw_pci (Bharat Kumar Gogada)
    - Don't call pci_fixup_irqs() on Microblaze (Bharat Kumar Gogada)
    - Update Zynq binding with Microblaze node (Bharat Kumar Gogada)
    - microblaze: Support generic Xilinx AXI PCIe Host Bridge IP driver (Bharat Kumar Gogada)

    Xilinx NWL host bridge driver:
    - Add support for Xilinx NWL PCIe Host Controller (Bharat Kumar Gogada)

    Miscellaneous:
    - Check device_attach() return value always (Bjorn Helgaas)
    - Move pci_set_flags() from asm-generic/pci-bridge.h to linux/pci.h (Bjorn Helgaas)
    - Remove includes of empty asm-generic/pci-bridge.h (Bjorn Helgaas)
    - ARM64: Remove generated include of asm-generic/pci-bridge.h (Bjorn Helgaas)
    - Remove empty asm-generic/pci-bridge.h (Bjorn Helgaas)
    - Remove includes of asm/pci-bridge.h (Bjorn Helgaas)
    - Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h (Bjorn Helgaas)
    - unicore32: Remove unused HAVE_ARCH_PCI_SET_DMA_MASK definition (Bjorn Helgaas)
    - Cleanup pci/pcie/Kconfig whitespace (Andreas Ziegler)
    - Include pci/hotplug Kconfig directly from pci/Kconfig (Bjorn Helgaas)
    - Include pci/pcie/Kconfig directly from pci/Kconfig (Bogicevic Sasa)
    - frv: Remove stray pci_{alloc,free}_consistent() declaration (Christoph Hellwig)
    - Move pci_dma_* helpers to common code (Christoph Hellwig)
    - Add PCI_CLASS_SERIAL_USB_DEVICE definition (Heikki Krogerus)
    - Add QEMU top-level IDs for (sub)vendor & device (Robin H. Johnson)
    - Fix broken URL for Dell biosdevname (Naga Venkata Sai Indubhaskar Jupudi)"

    * tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits)
    PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition
    PCI: designware: Add driver for prototyping kits based on ARC SDP
    PCI: designware: Add default link up check if sub-driver doesn't override
    PCI: designware: Add generic dw_pcie_wait_for_link()
    PCI: Cleanup pci/pcie/Kconfig whitespace
    PCI: Simplify pci_create_attr() control flow
    PCI: Don't leak memory if sysfs_create_bin_file() fails
    PCI: Simplify sysfs ROM cleanup
    PCI: Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY
    MIPS: Loongson 3: Keep CPU physical (not virtual) addresses in shadow ROM resource
    MIPS: Loongson 3: Use temporary struct resource * to avoid repetition
    ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource
    ia64/PCI: Use ioremap() instead of open-coded equivalent
    ia64/PCI: Use temporary struct resource * to avoid repetition
    PCI: Clean up pci_map_rom() whitespace
    PCI: Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs
    PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices
    PCI: thunder: Add PCIe host driver for ThunderX processors
    PCI: generic: Expose pci_host_common_probe() for use by other drivers
    PCI: generic: Add pci_host_common_probe(), based on gen_pci_probe()
    ...

    Linus Torvalds
     

16 Mar, 2016

6 commits

  • We could print the uninitialized value of "stat" in the error message.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     
  • Add some sanity check codes before actually accessing the endpoint via
    get_endpoint() in order to avoid the invalid access through a
    malformed USB descriptor. Mostly just checking bNumEndpoints, but in
    one place (snd_microii_spdif_default_get()), the validity of iface and
    altsetting index is checked as well.

    Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=971125
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Just a minor code cleanup: unify the error paths.

    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • create_fixed_stream_quirk() may cause a NULL-pointer dereference by
    accessing the non-existing endpoint when a USB device with a malformed
    USB descriptor is used.

    This patch avoids it simply by adding a sanity check of bNumEndpoints
    before the accesses.

    Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=971125
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Pull regulator updates from Mark Brown:
    "This has been an extremely quiet release for the regulator API, aside
    from bugfixes and small enhancements the only thing that really stands
    out are the new drivers for Action Semiconductors ACT8945A, HiSilicon
    HI665x, and the Maxim MAX20024 and MAX77620"

    * tag 'regulator-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (46 commits)
    regulator: pwm: Add support to have multiple instance of pwm regulator
    regulator: pwm: Fix calculation of voltage-to-duty cycle
    regulator: of: Use of_property_read_u32() for reading min/max
    regulator: pv88060: fix incorrect clear of event register
    regulator: pv88090: fix incorrect clear of event register
    regulator: max77620: Add support to configure active-discharge
    regulator: core: Add support for active-discharge configuration
    regulator: helper: Add helper to configure active-discharge using regmap
    regulator: core: Add support for active-discharge configuration
    regulator: DT: Add DT property for active-discharge configuration
    regulator: act8865: Specify fixed voltage of 3.3V for ACT8600's REG9
    regulator: act8865: Rename platform_data field to init_data
    regulator: act8865: Remove "static" from local variable
    ASoC: cs4271: add regulator consumer support
    regulator: max77620: Remove duplicate module alias
    regulator: max77620: Eliminate duplicate code
    regulator: max77620: Remove unused fields
    regulator: core: fix crash in error path of regulator_register
    regulator: core: Request GPIO before creating sysfs entries
    regulator: gpio: don't print error on EPROBE_DEFER
    ...

    Linus Torvalds
     
  • It turned out that the pre-HSW Intel chips are incompatible with the
    naive assumption we had -- the fixed mapping between the port and the
    HD-audio widget. This may result in the bad access, as captured by
    the recent patch to add a WARN_ON() for the port mapping check.

    As a quick workaround, disable the i915 audio component binding for
    all pre-Haswell models.

    Reported-by: Ville Syrjälä
    Cc: # v4.5
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     

15 Mar, 2016

4 commits

  • Cirrus HD-audio driver may adjust GPIO pins for EAPD dynamically
    depending on the jack plug state. This works fine for the auto-mute
    mode where the speaker gets muted upon the HP jack plug. OTOH, when
    the auto-mute mode is off, this turns off the EAPD unexpectedly
    depending on the jack state, which results in the silent speaker
    output.

    This patch fixes the silent speaker output issue by setting GPIO bits
    constantly when the auto-mute mode is off.

    Reported-and-tested-by: moosotc@gmail.com
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • * commit '840f5b0572ea': (381 commits)
    media: au0828 disable tuner to demod link in au0828_media_device_register()
    [media] touptek: cast char types on %x printk
    [media] touptek: don't DMA at the stack
    [media] mceusb: use %*ph for small buffer dumps
    [media] v4l: exynos4-is: Drop unneeded check when setting up fimc-lite links
    [media] v4l: vsp1: Check if an entity is a subdev with the right function
    [media] hide unused functions for !MEDIA_CONTROLLER
    [media] em28xx: fix Terratec Grabby AC97 codec detection
    [media] media: add prefixes to interface types
    [media] media: rc: nuvoton: switch attribute wakeup_data to text
    [media] v4l2-ioctl: fix YUV422P pixel format description
    [media] media: fix null pointer dereference in v4l_vb2q_enable_media_source()
    [media] v4l2-mc.h: fix yet more compiler errors
    [media] staging/media: add missing TODO files
    [media] media.h: always start with 1 for the audio entities
    [media] sound/usb: Use meaninful names for goto labels
    [media] v4l2-mc.h: fix compiler warnings
    [media] media: au0828 audio mixer isn't connected to decoder
    [media] sound/usb: Use Media Controller API to share media resources
    [media] dw2102: add support for TeVii S662
    ...

    Mauro Carvalho Chehab
     
  • We print can print the uninitialized memory on error. Which is an info
    leak, I suppose but it's basically harmless.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Takashi Iwai

    Dan Carpenter
     
  • Pull dma_*_writecombine rename from Ingo Molnar:
    "Rename dma_*_writecombine() to dma_*_wc()

    This is a tree-wide API rename, to move the dma_*() write-combining
    APIs closer in name to their usual API families. (The old API names
    are kept as compatibility wrappers to not introduce extra breakage.)

    The patch was Coccinelle generated"

    * 'mm-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc()

    Linus Torvalds
     

14 Mar, 2016

5 commits


13 Mar, 2016

1 commit