21 Aug, 2017

1 commit

  • Commit 971a69db7dc0 ("Xen: don't warn about 2-byte wchar_t in efi")
    added the --no-wchar-size-warning to the Makefile to avoid this
    harmless warning:

    arm-linux-gnueabi-ld: warning: drivers/xen/efi.o uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail

    Changing kbuild to use thin archives instead of recursive linking
    unfortunately brings the same warning back during the final link.

    The kernel does not use wchar_t string literals at this point, and
    xen does not use wchar_t at all (only efi_char16_t), so the flag
    has no effect, but as pointed out by Jan Beulich, adding a wchar_t
    string literal would be bad here.

    Since wchar_t is always defined as u16, independent of the toolchain
    default, always passing -fshort-wchar is correct and lets us
    remove the Xen specific hack along with fixing the warning.

    Link: https://patchwork.kernel.org/patch/9275217/
    Fixes: 971a69db7dc0 ("Xen: don't warn about 2-byte wchar_t in efi")
    Signed-off-by: Arnd Bergmann
    Acked-by: David Vrabel
    Signed-off-by: Masahiro Yamada

    Arnd Bergmann
     

07 Aug, 2017

1 commit


06 Aug, 2017

2 commits

  • This fixes a problem where the system gets stuck in a loop
    unable to wakeup via power button in s2idle.

    The problem happens because:
    - press power button:
    - system emits 0xc0 (power press), event ignored
    - system emits 0xc1 (power release), event processed,
    emited as KEY_POWER
    - set wakeup_mode to true
    - system goes to s2idle
    - press power button
    - system emits 0xc0 (power press), wakeup_mode is true,
    system wakes
    - system emits 0xc1 (power release), event processed,
    emited as KEY_POWER
    - system goes to s2idle again

    To avoid this situation, process the presses (which matches what
    intel-hid does too).

    Verified on an Dell XPS 9365

    Signed-off-by: Mario Limonciello
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Darren Hart (VMware)

    Mario Limonciello
     
  • Pull media fixes from Mauro Carvalho Chehab:
    "This series is larger than I would like to submit for -rc4. My
    original intent were to sent it to either -rc2 or -rc3. Unfortunately,
    due to my vacations, I got a lot of pending stuff after my return, and
    had to do some biz trips, with prevented me to send this earlier.

    Several fixes:

    - some fixes at atomisp staging driver

    - several gcc 7 warning fixes

    - cleanup media SVG files, in order to fix PDF build on some distros

    - fix random Kconfig build of venus driver

    - some fixes for the venus driver

    - some changes from semaphone to mutex in ngene's driver

    - some locking fixes at dib0700 driver

    - several fixes on ngene's driver and frontends to make it properly
    support some new boards added on Kernel 4.13

    - some fixes to CEC drivers

    - omap_vout: vrfb: convert to dmaengine

    - docs-rst: document EBUSY for VIDIOC_S_FMT

    Please notice that the big diffstat changes here are at the SVG files.

    Visually, the images look the same, but the file size is now a lot
    smaller than before, and they don't use some XML tags that would cause
    them to be badly parsed by some ImageMagick versions, or to require a
    lot of memory by TeTex, with would break PDF output on some
    distributions"

    * tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (68 commits)
    media: atomisp2: array underflow in imx_enum_frame_size()
    media: atomisp2: array underflow in ap1302_enum_frame_size()
    media: atomisp2: Array underflow in atomisp_enum_input()
    media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS
    media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl
    media: venus: don't abuse dma_alloc for non-DMA allocations
    media: venus: hfi: fix error handling in hfi_sys_init_done()
    media: venus: fix compile-test build on non-qcom ARM platform
    media: venus: mark PM functions as __maybe_unused
    media: cec-notifier: small improvements
    media: pulse8-cec: persistent_config should be off by default
    media: cec: cec_transmit_attempt_done: ignore CEC_TX_STATUS_MAX_RETRIES
    media: staging: atomisp: array underflow in ioctl
    media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds
    media: svg: avoid too long lines
    media: svg files: simplify files
    media: selection.svg: simplify the SVG file
    media: vimc: set id_table for platform drivers
    media: staging: atomisp: disable warnings with cc-disable-warning
    media: davinci: variable 'common' set but not used
    ...

    Linus Torvalds
     

05 Aug, 2017

8 commits

  • Pull GPIO fixes from Linus Walleij:

    - LP87565: set the proper output level for direction_output.

    - stm32: fix the kernel build by selecting the hierarchical irqdomain
    symbol properly - this happens to be done in the pin control
    framework but whatever, it had dependencies to GPIO so we need to
    apply it here.

    - Select the hierarchical IRQ domain also for Xgene.

    - Fix wakeups to work on MXC.

    - Fix up the device tree binding on Exar that went astray, also add the
    right bindings.

    - Fix the unwanted events for edges from the library.

    - Fix the unbalanced chanined IRQ on the Tegra.

    * tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: tegra: fix unbalanced chained_irq_enter/exit
    gpiolib: skip unwanted events, don't convert them to opposite edge
    gpio: exar: Use correct property prefix and document bindings
    gpio: gpio-mxc: Fix: higher 16 GPIOs usable as wake source
    gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY
    pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on
    gpio: lp87565: Set proper output level and direction for direction_output
    MAINTAINERS: Add entry for Whiskey Cove PMIC GPIO driver

    Linus Torvalds
     
  • Pull clk fixes from Stephen Boyd:
    "A handful of critical fixes for changes introduce this merge window.

    - The TI sci_clk_get() API was pretty broken and nobody noticed.

    - There were some CPUfreq crashes on C.H.I.P devices because we
    failed to propagate rates up the clk tree.

    - Also, the Intel Atom PMC clk driver needs to mark a clk critical if
    the firmware has it enabled already so that audio doesn't get
    killed on Baytrail.

    - Gemini devices have a dead serial console because the reset control
    usage in the serial driver assume one method of reset that gemini
    doesn't support (this will be fixed in the next version in the
    reset framework so this is the small fix for -rc series).

    - Finally we have two rate calculation fixes, one for Exynos and one
    for Meson SoCs, that fix rate inconsistencies"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: keystone: sci-clk: Fix sci_clk_get
    clk: meson: mpll: fix mpll0 fractional part ignored
    clk: samsung: exynos5420: The EPLL rate table corrections
    clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock
    clk: x86: Do not gate clocks enabled by the firmware
    clk: gemini: Fix reset regression

    Linus Torvalds
     
  • Pull ARM SoC fixes from Arnd Bergmann:
    "This comes a bit later than I planned, and as a consequence is a
    larger than it should be.

    Most of the changes are devicetree fixes, across lots of platforms:
    Renesas, Samsung Exynos, Marvell EBU, TI OMAP, Rockchips, Amlogic
    Meson, Sigma Desings Tango, Allwinner SUNxi and TI Davinci.

    Also across many platforms, I applied an older series of simple
    randconfig build fixes. This includes making the CONFIG_MTD_XIP option
    compile again, which had been broken for many years and probably has
    not been missed, but it felt wrong to just remove it completely.

    The only other changes are:

    - We enable HWSPINLOCK in defconfig to get some Qualcomm boards to
    work out of the box.

    - A few regression fixes for Texas Instruments OMAP2+.

    - A boot regression fix for the Renesas regulator quirk.

    - A suspend/resume fix for Uniphier SoCs, fixing the resume of the
    system bus"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    ARM: dts: tango4: Request RGMII RX and TX clock delays
    bus: uniphier-system-bus: set up registers when resuming
    ARM64: dts: marvell: armada-37xx: Fix the number of GPIO on south bridge
    ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
    arm64: defconfig: enable missing HWSPINLOCK
    ARM: pxa: select both FB and FB_W100 for eseries
    ARM: ixp4xx: fix ioport_unmap definition
    ARM: ep93xx: use ARM_PATCH_PHYS_VIRT correctly
    ARM: mmp: mark usb_dma_mask as __maybe_unused
    ARM: omap2: mark unused functions as __maybe_unused
    ARM: omap1: avoid unused variable warning
    ARM: sirf: mark sirfsoc_init_late as __maybe_unused
    ARM: ixp4xx: use normal prototype for {read,write}s{b,w,l}
    ARM: omap1/ams-delta: warn about failed regulator enable
    ARM: rpc: rename RAM_SIZE macro
    ARM: w90x900: normalize clk API
    ARM: ep93xx: normalize clk API
    ARM: dts: sun8i: a83t: Switch to CCU device tree binding macros
    arm64: allwinner: sun50i-a64: Correct emac register size
    ARM: dts: sunxi: h3/h5: Correct emac register size
    ...

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:

    - block interrupts properly across the entire MMU context change (both
    the hw MMU context change and the TSB table change) so that we don't
    get a perf event interrupt in the middle. From Rob Gardner.

    - be sure to register hugepages early enough, from Nitin Gupta.

    - UltraSPARC-III user copy exception handling would return garbage for
    the copied length in some circumstances.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Fix exception handling in UltraSPARC-III memcpy.
    sbus: Convert to using %pOF instead of full_name
    sparc: defconfig: Cleanup from old Kconfig options
    sparc64: Register hugepages during arch init
    sparc64: Prevent perf from running during super critical sections

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Now we hit the usual ASoC-fix-flood in the middle of release.

    Most of the changes are trivial and device-specific, while one
    significant change is the fix for unbalanced of_graph_*() refcounts.
    This involved a change in the graph API itself that had been a bit
    messy"

    * tag 'sound-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Fix speaker output from VAIO VPCL14M1R
    device property: Fix usecount for of_graph_get_port_parent()
    ASoC: rt5665: fix wrong register for bclk ratio control
    ASoC: Intel: Use MCLK instead of BLCK as the sysclock for RT5514 codec on kabylake platform
    ASoC: Intel: Enabling ASRC for RT5663 codec on kabylake platform
    ASoC: codecs: msm8916-analog: fix DIG_CLK_CTL_RXD3_CLK_EN define
    ASoC: Intel: Skylake: Fix missing sentinels in sst_acpi_mach
    ASoC: sh: hac: add missing "int ret"
    ASoC: samsung: odroid: Fix EPLL frequency values
    ASoC: sgtl5000: Use snd_soc_kcontrol_codec()
    ASoC: rt5665: fix GPIO6 pin function define
    ASoC: ux500: Restore platform DAI assignments
    ASoC: fix pcm-creation regression
    ASoC: do not close shared backend dailink
    ASoC: pxa: SND_PXA2XX_SOC should depend on HAS_DMA
    ASoC: Intel: Skylake: Fix default dma_buffer_size
    ASoC: rt5663: Update the HW default values based on the shipping version
    ASoC: imx-ssi: add check on platform_get_irq return value

    Linus Torvalds
     
  • Pull IOMMU fixes from Joerg Roedel:

    - fix a scheduling-while-atomic bug in the AMD IOMMU driver. It was
    found after the checker was enabled earlier.

    - a fix for the virtual APIC code in the AMD IOMMU driver which
    delivers device interrupts directly into KVM guests for assigned
    devices.

    - fixes for the recently merged lock-less page-table code for ARM. The
    redundant TLB syncs got reverted and locks added again around the TLB
    sync code.

    - fix for error handling in arm_smmu_add_device()

    - address sanitization fix for arm io-pgtable code

    * tag 'iommu-fixes-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: Fix schedule-while-atomic BUG in initialization code
    iommu/amd: Enable ga_log_intr when enabling guest_mode
    iommu/io-pgtable: Sanitise map/unmap addresses
    iommu/arm-smmu: Fix the error path in arm_smmu_add_device
    Revert "iommu/io-pgtable: Avoid redundant TLB syncs"
    iommu/mtk: Avoid redundant TLB syncs locally
    iommu/arm-smmu: Reintroduce locking around TLB sync operations

    Linus Torvalds
     
  • Pull MMC fixes from Ulf Hansson:
    "A couple of mmc fixes intended for v4.13-rc4.

    MMC core:
    - Fix NULL pointer dereference for block I/O during hotplug

    MMC host:
    - sdhci-of-at91: Fix card detect for non-removable cards"

    * tag 'mmc-v4.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: block: bypass the queue even if usage is present for hotplug
    mmc: sdhci-of-at91: force card detect value for non removable devices

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Either my email ate everything or everyone is on holidays, either way
    all I can find is some lonely AMD fixes"

    [ Europe might be on vacation, and the Pacific NW is too hot for work. ]

    * tag 'drm-fixes-for-v4.13-rc4' of git://people.freedesktop.org/~airlied/linux:
    drm/amdgpu: Use list_del_init in amdgpu_mn_unregister
    drm/amdgpu: Fix undue fallthroughs in golden registers initialization
    drm/amdgpu: fix header on gfx9 clear state

    Linus Torvalds
     

04 Aug, 2017

8 commits

  • When resuming, set up registers that have been lost in the sleep state.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Arnd Bergmann

    Masahiro Yamada
     
  • Just a few small fixes for 4.13.

    * 'drm-fixes-4.13' of git://people.freedesktop.org/~agd5f/linux:
    drm/amdgpu: Use list_del_init in amdgpu_mn_unregister
    drm/amdgpu: Fix undue fallthroughs in golden registers initialization
    drm/amdgpu: fix header on gfx9 clear state

    Dave Airlie
     
  • Pull VFIO fixes from Alex Williamson:

    - SPAPR/EEH config build fix (Murilo Opsfelder Araujo)

    - Fix possible device lock deadlock (Alex Williamson)

    - Correctly size integrated endpoint PCIe capabilities (Alex
    Williamson)

    * tag 'vfio-v4.13-rc4' of git://github.com/awilliam/linux-vfio:
    vfio/pci: Fix handling of RC integrated endpoint PCIe capability size
    vfio/pci: Use pci_try_reset_function() on initial open
    include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH

    Linus Torvalds
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These fix two issues in the ACPI SoC drivers (Intel LPSS and AMD APD),
    a crash in the PCC mailbox initialization code and a WDAT watchdog
    initialization failure.

    Specifics:

    - Fix a device ID of Hisilicon Hip07/08 in the ACPI APD (AMD SoC)
    driver (Hanjun Guo).

    - Fix list corruption (introduced during the 4.11 cycle) in the ACPI
    LPSS (Intel SoC) driver (Hans de Goede).

    - Fix PCC mailbox handling code crash during initialization when PCCT
    is not present and PCC channel 0 is requested (Hoan Tran).

    - Fix a WDAT watchdog initialization issue causing platform device
    creation to fail due to partially overlapping address ranges in
    resources (Ryan Kennedy)"

    * tag 'acpi-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: APD: Fix HID for Hisilicon Hip07/08
    mailbox: pcc: Fix crash when request PCC channel 0
    ACPI / watchdog: Fix init failure with overlapping register regions
    ACPI / LPSS: Only call pwm_add_table() for the first PWM controller

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix two cpufreq issues, one introduced recently and one related
    to recent changes, fix cpufreq documentation, fix up recently added
    code in the Thunderbolt driver and update runtime PM framework
    documentation.

    Specifics:

    - Fix the handling of the scaling_cur_freq cpufreq policy attribute
    on x86 systems with the MPERF/APERF registers present to make it
    behave more as expected after recent changes (Rafael Wysocki).

    - Drop a leftover callback from the intel_pstate driver which also
    prevents the cpuinfo_cur_freq cpufreq policy attribute from being
    incorrectly exposed when intel_pstate works in the active mode
    (Rafael Wysocki).

    - Add a missing piece describing the cpuinfo_cur_freq policy
    attribute to cpufreq documentation (Rafael Wysocki).

    - Fix up a recently added part of the Thunderbolt driver to avoid
    aborting system suspends if its mailbox commands time out (Rafael
    Wysocki).

    - Update device runtime PM framework documentation to reflect the
    current behavior of the code (Johan Hovold)"

    * tag 'pm-4.13-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    thunderbolt: icm: Ignore mailbox errors in icm_suspend()
    cpufreq: x86: Make scaling_cur_freq behave more as expected
    PM / runtime: Document new pm_runtime_set_suspended() constraint
    cpufreq: docs: Add missing cpuinfo_cur_freq description
    cpufreq: intel_pstate: Drop ->get from intel_pstate structure

    Linus Torvalds
     
  • * acpi-soc:
    ACPI: APD: Fix HID for Hisilicon Hip07/08
    ACPI / LPSS: Only call pwm_add_table() for the first PWM controller

    * acpi-wdat:
    ACPI / watchdog: Fix init failure with overlapping register regions

    * acpi-cppc:
    mailbox: pcc: Fix crash when request PCC channel 0

    Rafael J. Wysocki
     
  • * pm-core:
    PM / runtime: Document new pm_runtime_set_suspended() constraint

    * pm-misc:
    thunderbolt: icm: Ignore mailbox errors in icm_suspend()

    Rafael J. Wysocki
     
  • * pm-cpufreq-x86:
    cpufreq: x86: Make scaling_cur_freq behave more as expected

    * pm-cpufreq-docs:
    cpufreq: docs: Add missing cpuinfo_cur_freq description

    * intel_pstate:
    cpufreq: intel_pstate: Drop ->get from intel_pstate structure

    Rafael J. Wysocki
     

03 Aug, 2017

9 commits

  • The commit 304419d8a7e9 ("mmc: core: Allocate per-request data using the
    block layer core") refactored mechanism of queue handling caused
    mmc_init_request() can be called just after mmc_cleanup_queue() caused null
    pointer dereference.

    Another commit bbdc74dc19e0 ("mmc: block: Prevent new req entering queue
    after its cleanup") tried to fix the problem. However it actually miss one
    corner case.

    We could still reproduce the issue mentioned with these steps:
    (1) insert a SD card and mount it
    (2) hotplug it, so it will leave md->usage still be counted
    (3) reboot the system which will sync data and umount the card

    [Unable to handle kernel NULL pointer dereference at virtual address
    00000000
    [user pgtable: 4k pages, 48-bit VAs, pgd = ffff80007bab3000
    [[0000000000000000] *pgd=000000007a828003, *pud=0000000078dce003,
    *pmd=000000007aab6003, *pte=0000000000000000
    [Internal error: Oops: 96000007 [#1] PREEMPT SMP
    [Modules linked in:
    [CPU: 3 PID: 3507 Comm: umount Tainted: G W
    4.13.0-rc1-next-20170720-00012-g9d9bf45 #33
    [Hardware name: Firefly-RK3399 Board (DT)
    [task: ffff80007a1de200 task.stack: ffff80007a01c000
    [PC is at mmc_init_request+0x14/0xc4
    [LR is at alloc_request_size+0x4c/0x74
    [pc : [] lr : [] pstate: 600001c5
    [sp : ffff80007a01f8f0

    ....

    [[] mmc_init_request+0x14/0xc4
    [[] alloc_request_size+0x4c/0x74
    [[] mempool_create_node+0xb8/0x17c
    [[] blk_init_rl+0x9c/0x120
    [[] blkg_alloc+0x110/0x234
    [[] blkg_create+0x424/0x468
    [[] blkg_lookup_create+0xd8/0x14c
    [[] generic_make_request_checks+0x368/0x3b0
    [[] generic_make_request+0x1c/0x240

    So mmc_blk_put wouldn't calling blk_cleanup_queue which actually the
    QUEUE_FLAG_DYING and QUEUE_FLAG_BYPASS should stay. Block core expect
    blk_queue_bypass_{start, end} internally to bypass/drain the queue before
    actually dying the queue, so it didn't expose API to set the queue bypass.
    I think we should set QUEUE_FLAG_BYPASS whenever queue is removed, although
    the md->usage is still counted, as no dispatch queue could be found then.

    Fixes: 304419d8a7e9 ("mmc: core: Allocate per-request data using the block layer core")
    Signed-off-by: Shawn Lin
    Reviewed-by: Linus Walleij
    Signed-off-by: Ulf Hansson

    Shawn Lin
     
  • When the device is non removable, the card detect signal is often used
    for another purpose i.e. muxed to another SoC peripheral or used as a
    GPIO. It could lead to wrong behaviors depending the default value of
    this signal if not muxed to the SDHCI controller.

    Fixes: bb5f8ea4d514 ("mmc: sdhci-of-at91: introduce driver for the Atmel SDMMC")
    Signed-off-by: Ludovic Desroches
    Acked-by: Adrian Hunter
    Cc:
    Signed-off-by: Ulf Hansson

    Ludovic Desroches
     
  • This fixes a potential buffer overflow in isdn_net.c caused by an
    unbounded strcpy.

    [ ISDN seems to be effectively unmaintained, and the I4L driver in
    particular is long deprecated, but in case somebody uses this..
    - Linus ]

    Signed-off-by: Jiten Thakkar
    Signed-off-by: Annie Cherkaev
    Cc: Karsten Keil
    Cc: Kees Cook
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Annie Cherkaev
     
  • Currently a bug in the sci_clk_get implementation causes it to always
    return a clock belonging to the last device in the static list of clock
    data. This is due to a bug in the init code that causes the array
    used by sci_clk_get to only be populated with the clocks for the last
    device, as each device overwrites the entire array with its own clocks.

    Fix this by calculating the actual number of clocks for the SoC, and
    allocating the whole array in one go. Also, we don't need the handle
    to the init data array anymore after doing this, instead we can
    just compare the dev_id / clk_id against the registered clocks and
    use binary search for speed.

    Signed-off-by: Tero Kristo
    Reported-by: Dave Gerlach
    Fixes: b745c0794e2f ("clk: keystone: Add sci-clk driver support")
    Cc: Nishanth Menon
    Tested-by: Franklin Cooper
    Signed-off-by: Stephen Boyd

    Tero Kristo
     
  • Otherwise bo->shadow_list (which is aliased by bo->mn_list) will not
    appear empty in amdgpu_ttm_bo_destroy and cause an oops when freeing
    former userptr BOs.

    Signed-off-by: Felix Kuehling
    Reviewed-by: Christian König
    Signed-off-by: Alex Deucher

    Felix Kuehling
     
  • As I was staring at the si_init_golden_registers code, I noticed that
    the Pitcairn initialization silently falls through the Cape Verde
    initialization, and the Oland initialization falls through the Hainan
    initialization. However there is no comment stating that this is
    intentional, and the radeon driver doesn't have any such fallthrough,
    so I suspect this is not supposed to happen.

    Signed-off-by: Jean Delvare
    Fixes: 62a37553414a ("drm/amdgpu: add si implementation v10")
    Cc: Ken Wang
    Cc: Alex Deucher
    Cc: "Marek Olšák"
    Cc: "Christian König"
    Cc: Flora Cui
    Reviewed-by: Marek Olšák
    Signed-off-by: Alex Deucher
    Cc: stable@vger.kernel.org

    Jean Delvare
     
  • Pull x86 platform driver fixes from Darren Hart:
    "Fix two bugs under error or abnormal usage conditions. Correct a
    config dependency:

    dell-wmi:
    - Fix driver interface version query

    wmi:
    - Fix error handling in acpi_wmi_init()

    peaq-wmi:
    - select INPUT_POLLDEV"

    * tag 'platform-drivers-x86-v4.13-3' of git://git.infradead.org/linux-platform-drivers-x86:
    platform/x86: dell-wmi: Fix driver interface version query
    platform/x86: wmi: Fix error handling in acpi_wmi_init()
    platform/x86: peaq-wmi: select INPUT_POLLDEV

    Linus Torvalds
     
  • …nel/git/sunxi/linux into clk-fixes

    Pull one Allwinner clock fix from Chen-Yu Tsai:

    One critical clock fix for sun5i (A10s/A13/R8) which enables propagation
    of clock rate changes from the "cpu" clock to it's parent PLL clock.
    This fixes cpufreq related crashes that have been observed on KernelCI
    with the C.H.I.P. and multi_v7_defconfig.

    * tag 'sunxi-clk-fixes-for-4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
    clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock

    Stephen Boyd
     
  • Pull one Meson clock fix from Neil Armstrong

    * tag 'meson-clk-fixes-for-4.13-rc4-v2' of git://github.com/baylibre/clk-meson:
    clk: meson: mpll: fix mpll0 fractional part ignored

    Stephen Boyd
     

02 Aug, 2017

4 commits

  • Pull SCSI fixes from James Bottomley:
    "These seven patches are mostly minor build, Kconfig and error leg
    fixes"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    scsi: qedi: Fix return code in qedi_ep_connect()
    scsi: lpfc: fix linking against modular NVMe support
    scsi: scsi_transport_fc: return -EBUSY for deleted vport
    scsi: libcxgbi: add check for valid cxgbi_task_data
    scsi: aic7xxx: fix firmware build with O=path
    scsi: megaraid_sas: fix memleak in megasas_alloc_cmdlist_fusion
    scsi: qedi: Add ISCSI_BOOT_SYSFS to Kconfig

    Linus Torvalds
     
  • When more than one GPIO IRQs are triggered simultaneously,
    tegra_gpio_irq_handler() called chained_irq_exit() multiple
    times for one chained_irq_enter().

    Fixes: 3c92db9ac0ca3eee8e46e2424b6c074e2e394ad9
    Signed-off-by: Michał Mirosław
    [Also changed the variable to a bool]
    Signed-off-by: Linus Walleij

    Michał Mirosław
     
  • When I converted dell-wmi to the new bus infrastructure, I left the
    call to dell_wmi_check_descriptor_buffer() in dell_wmi_init(). This
    could cause two problems:

    - An error message when loading the driver on a system without
    dell-wmi. We'd try to read the event descriptor even if the WMI
    GUID wasn't there.

    - A possible race if dell-wmi was loaded manually before wmi was
    fully initialized.

    Fix it by moving the call to the probe function where it belongs.

    Fixes: bff589be59c5 ("platform/x86: dell-wmi: Convert to the WMI bus infrastructure")
    Signed-off-by: Andy Lutomirski
    Reviewed-by: Pali Rohár
    Signed-off-by: Darren Hart (VMware)

    Andy Lutomirski
     
  • Pull parsic fixes from Helge Deller:

    - Our cache flushing code ran into a BUG in case context is not
    current. Fix it by flushing the whole cache in such rare situations
    (by Dave Anglin).

    - Fix a "sleeping function called from invalid context BUG" in our
    pdc_stable driver by rearranging our locks (by James Bottomley)

    - The thread and irq stacks require more than 16 KB since kernel 4.11.
    Increase both to 32 KB.

    - Define CONFIG_CPU_BIG_ENDIAN unconditionally on parisc to avoid wrong
    behaviour in qrwlock functions (by Babu Moger).

    * 'parisc-4.13-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Define CONFIG_CPU_BIG_ENDIAN
    parisc: pdc_stable: Fix locking when creating sysfs links
    parisc: Increase thread and stack size to 32kb
    parisc: Handle vma's whose context is not current in flush_cache_range

    Linus Torvalds
     

01 Aug, 2017

7 commits

  • …6', 'asoc/fix/multi-pcm', 'asoc/fix/of-graph' and 'asoc/fix/pxa' into asoc-linus

    Mark Brown
     
  • Fix inconsistent use of of_graph_get_port_parent() where
    asoc_simple_card_parse_graph_dai() does of_node_get() before
    calling it while other callers do not. We can fix this by
    not trashing the node passed to of_graph_get_port_parent().

    Let's also make sure the callers have correct refcounts and remove
    related incorrect of_node_put() calls for of_for_each_phandle
    as that's done by of_phandle_iterator_next() except when
    we break out of the loop early.

    Let's fix both issues with a single patch to avoid kobject
    refcounts getting messed up more if two patches are merged
    separately.

    Otherwise strange issues can happen caused by memory corruption
    caused by too many kobject_del() calls such as:

    BUG: sleeping function called from invalid context at
    kernel/locking/mutex.c:747
    ...
    (___might_sleep)
    (__mutex_lock)
    (mutex_lock_nested)
    (kernfs_remove)
    (kobject_del)
    (kobject_put)
    (of_get_next_parent)
    (of_graph_get_port_parent)
    (asoc_simple_card_parse_graph_dai [snd_soc_simple_card_utils])
    (asoc_graph_card_probe [snd_soc_audio_graph_card])

    Fixes: 0ef472a973eb ("of_graph: add of_graph_get_port_parent()")
    Fixes: 2692c1c63c29 ("ASoC: add audio-graph-card support")
    Fixes: 1689333f8311 ("ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai()")
    Signed-off-by: Tony Lindgren
    Reviewed-by: Rob Herring
    Tested-by: Antonio Borneo
    Tested-by: Kuninori Morimoto
    Signed-off-by: Mark Brown

    Tony Lindgren
     
  • mpll0 clock is special compared to the other mplls. It needs another
    bit (ssen) to be set to activate the fractional part the mpll divider

    Fixes: 007e6e5c5f01 ("clk: meson: mpll: add rw operation")
    Signed-off-by: Jerome Brunet
    Signed-off-by: Neil Armstrong

    Jerome Brunet
     
  • The previous fix for filtering out of unwatched events was not entirely
    correct. Instead of skipping the events we don't want, they are now
    interpreted as events with opposing edge.

    In order to fix it: always read the GPIO line value on interrupt and
    only emit the event if it corresponds with the event type we requested.

    Cc: stable@vger.kernel.org
    Fixes: ad537b822577 ("gpiolib: fix filtering out unwanted events")
    Signed-off-by: Bartosz Golaszewski
    Signed-off-by: Linus Walleij

    Bartosz Golaszewski
     
  • The device-specific property should be prefixed with the vendor name,
    not "linux,", as Linus Walleij pointed out. Change this and document the
    bindings of this platform device.

    We didn't ship the old binding in a release yet. So we can still change
    it without breaking an official API.

    Fixes: 380b1e2f3a2f ("gpio-exar/8250-exar: Make set of exported GPIOs configurable")
    Signed-off-by: Jan Kiszka
    Acked-by: Rob Herring
    Signed-off-by: Linus Walleij

    Jan Kiszka
     
  • In the function gpio_set_wake_irq(), port->irq_high is only checked for
    zero. As platform_get_irq() returns a value less then zero if no interrupt
    was found, any gpio >= 16 was handled like an irq_high interrupt was
    available. On iMX27 for example no high interrupt is available. This lead
    to the problem that only some gpios (the lower 16) were useable as wake
    sources.

    Signed-off-by: Philipp Rosenberger
    Signed-off-by: Linus Walleij

    Philipp Rosenberger
     
  • This driver calls irq_domain_hierarchy() and irq_chip_*_parent().
    They are available only when CONFIG_IRQ_DOMAIN_HIERARCHY is enabled.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Linus Walleij

    Masahiro Yamada