1. 04 Jul, 2019 3 commits
  2. 25 Jun, 2019 7 commits
  3. 24 Jun, 2019 1 commit
  4. 22 Jun, 2019 1 commit
  5. 19 Jun, 2019 4 commits
  6. 18 Jun, 2019 2 commits
    • Anson Huang's avatar
      soc: imx8: Use existing of_root directly · 283172b0
      Anson Huang authored
      There is common of_root for reference, no need to find it
      from DT again, use of_root directly to make driver simple.
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      283172b0
    • Anson Huang's avatar
      soc: imx8: Fix potential kernel dump in error path · 1bcbe730
      Anson Huang authored
      When SoC's revision value is 0, SoC driver will print out
      "unknown" in sysfs's revision node, this "unknown" is a
      static string which can NOT be freed, this will caused below
      kernel dump in later error path which calls kfree:
      
      kernel BUG at mm/slub.c:3942!
      Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
      Modules linked in:
      CPU: 2 PID: 1 Comm: swapper/0 Not tainted 5.2.0-rc4-next-20190611-00023-g705146c-dirty #2197
      Hardware name: NXP i.MX8MQ EVK (DT)
      pstate: 60000005 (nZCv daif -PAN -UAO)
      pc : kfree+0x170/0x1b0
      lr : imx8_soc_init+0xc0/0xe4
      sp : ffff00001003bd10
      x29: ffff00001003bd10 x28: ffff00001121e0a0
      x27: ffff000011482000 x26: ffff00001117068c
      x25: ffff00001121e100 x24: ffff000011482000
      x23: ffff000010fe2b58 x22: ffff0000111b9ab0
      x21: ffff8000bd9dfba0 x20: ffff0000111b9b70
      x19: ffff7e000043f880 x18: 0000000000001000
      x17: ffff000010d05fa0 x16: ffff0000122e0000
      x15: 0140000000000000 x14: 0000000030360000
      x13: ffff8000b94b5bb0 x12: 0000000000000038
      x11: ffffffffffffffff x10: ffffffffffffffff
      x9 : 0000000000000003 x8 : ffff8000b9488147
      x7 : ffff00001003bc00 x6 : 0000000000000000
      x5 : 0000000000000003 x4 : 0000000000000003
      x3 : 0000000000000003 x2 : b8793acd604edf00
      x1 : ffff7e000043f880 x0 : ffff7e000043f888
      Call trace:
       kfree+0x170/0x1b0
       imx8_soc_init+0xc0/0xe4
       do_one_initcall+0x58/0x1b8
       kernel_init_freeable+0x1cc/0x288
       kernel_init+0x10/0x100
       ret_from_fork+0x10/0x18
      
      This patch fixes this potential kernel dump when a chip's
      revision is "unknown", it is done by checking whether the
      revision space can be freed.
      
      Fixes: a7e26f35 ("soc: imx: Add generic i.MX8 SoC driver")
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      1bcbe730
  7. 17 Jun, 2019 10 commits
    • Olof Johansson's avatar
      Merge tag 'scmi-updates-5.3' of... · df767c0a
      Olof Johansson authored
      Merge tag 'scmi-updates-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/drivers
      
      ARM SCMI updates/fixes for v5.3
      
      1. Correction to ARM document ID referred in SCMI protocol binding
      2. Fix to correct bitfield definitions for SENSOR_DESC attributes which
         otherwise will calculate sensor values on wrong scale
      3. Adds the missing rate_discrete flag setting so that discrete clocks
         are handled correctly. Without this fix it assumes continuous range
         which is incorrect
      4. Adds support to read and scale the sensor values based on the factor
         read from the firmware
      
      * tag 'scmi-updates-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
        hwmon: scmi: Scale values to target desired HWMON units
        firmware: arm_scmi: fetch and store sensor scale
        firmware: arm_scmi: update rate_discrete in clock_describe_rates_get
        firmware: arm_scmi: fix bitfield definitions for SENSOR_DESC attributes
        dt-bindings: arm: fix the document ID for SCMI protocol documentation
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      df767c0a
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.3/ti-sysc-signed' of... · c3bd15a0
      Olof Johansson authored
      Merge tag 'omap-for-v5.3/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/drivers
      
      ti-sysc interconnect target module driver changes for v5.3
      
      This series of changes improves probing devices with ti-sysc to the
      point where we can now probe most devices without the custom dts
      property "ti,hwmods" and no legacy platform data :)
      
      We add support for platform data callbacks for idling and unidling the
      clockdomain the module belongs to. The rest of the series mostly adds
      handling for the various quirks needed by old legacy modules such as
      i2c and watchdog. Some quirk handling is still missing for few modules,
      but those will be added as they get tested.
      
      The related platform data and dts changes will be sent separately.
      
      * tag 'omap-for-v5.3/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        bus: ti-sysc: Add support for module specific reset quirks
        bus: ti-sysc: Detect uarts also on omap34xx
        bus: ti-sysc: Do rstctrl reset handling in two phases
        bus: ti-sysc: Add support for disabling module without legacy mode
        bus: ti-sysc: Set ENAWAKEUP if available
        bus: ti-sysc: Handle swsup idle mode quirks
        bus: ti-sysc: Handle clockactivity for enable and disable
        bus: ti-sysc: Enable interconnect target module autoidle bit on enable
        bus: ti-sysc: Allow QUIRK_LEGACY_IDLE even if legacy_mode is not set
        bus: ti-sysc: Make OCP reset work for sysstatus and sysconfig reset bits
        bus: ti-sysc: Support 16-bit writes too
        bus: ti-sysc: Add support for missing clockdomain handling
        ARM: dts: dra71x: Disable usb4_tm target module
        ARM: dts: dra71x: Disable rtc target module
        ARM: dts: dra76x: Disable usb4_tm target module
        ARM: dts: dra76x: Disable rtc target module
        ARM: dts: dra76x: Update MMC2_HS200_MANUAL1 iodelay values
        ARM: dts: am57xx-idk: Remove support for voltage switching for SD card
        bus: ti-sysc: Handle devices with no control registers
        ARM: dts: Configure osc clock for d_can on am335x
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      c3bd15a0
    • Olof Johansson's avatar
      Merge tag 'arm-soc/for-5.3/drivers' of https://github.com/Broadcom/stblinux into arm/drivers · 42635639
      Olof Johansson authored
      This pull request contains Broadcom ARM/ARM64/MIPS SoCs drivers changes
      for 5.3, please pull the following:
      
      - Markus provides a set of updates to the DPFE driver to support a new
        revision of the API to the firmware (version 3) and provides minor fixes
        about how the MR4-8 words are read for LPDDR4 devices
      
      - Florian removes a print of a virtual address in brcmstb_gisb.c
      
      * tag 'arm-soc/for-5.3/drivers' of https://github.com/Broadcom/stblinux:
        memory: brcmstb: dpfe: introduce DPFE API v3
        memory: brcmstb: dpfe: prepare for API-dependent sysfs attributes
        memory: brcmstb: dpfe: prepare support for multiple API versions
        memory: brcmstb: dpfe: wait for DCPU to be ready
        memory: brcmstb: dpfe: report firmware loading error
        memory: brcmstb: dpfe: remove unused code and fix formatting
        bus: brcmstb_gisb: Remove print of base address
        memory: brcmstb: dpfe: use byte 3 of registers MR4-MR8
        memory: brcmstb: dpfe: optimize generic_show()
        memory: brcmstb: dpfe: use msleep() over udelay()
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      42635639
    • Jean-Philippe Brucker's avatar
      firmware/psci: psci_checker: Park kthreads before stopping them · 92e074ac
      Jean-Philippe Brucker authored
      Since commit 85f1abe0 ("kthread, sched/wait: Fix kthread_parkme()
      completion issue"), kthreads that are bound to a CPU must be parked
      before being stopped. At the moment the PSCI checker calls
      kthread_stop() directly on the suspend kthread, which triggers the
      following warning:
      
      [    6.068288] WARNING: CPU: 1 PID: 1 at kernel/kthread.c:398 __kthread_bind_mask+0x20/0x78
                     ...
      [    6.190151] Call trace:
      [    6.192566]  __kthread_bind_mask+0x20/0x78
      [    6.196615]  kthread_unpark+0x74/0x80
      [    6.200235]  kthread_stop+0x44/0x1d8
      [    6.203769]  psci_checker+0x3bc/0x484
      [    6.207389]  do_one_initcall+0x48/0x260
      [    6.211180]  kernel_init_freeable+0x2c8/0x368
      [    6.215488]  kernel_init+0x10/0x100
      [    6.218935]  ret_from_fork+0x10/0x1c
      [    6.222467] ---[ end trace e05e22863d043cd3 ]---
      
      kthread_unpark() tries to bind the thread to its CPU and aborts with a
      WARN() if the thread wasn't in TASK_PARKED state. Park the kthreads
      before stopping them.
      
      Fixes: 85f1abe0 ("kthread, sched/wait: Fix kthread_parkme() completion issue")
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe.brucker@arm.com>
      Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Acked-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      92e074ac
    • Masahiro Yamada's avatar
      memory: move jedec_ddr.h from include/memory to drivers/memory/ · 5ec47cda
      Masahiro Yamada authored
      Now that jedec_ddr_data.c was moved from lib/ to drivers/memory/,
      <memory/jedec_ddr.h> is included only from drivers/memory/.
      
      Make it a local header of drivers/memory/.
      
      The directory include/memory is now gone.
      
      While I am here, I also changed #include <linux/module.h> to
      <linux/export.h>. Because CONFIG_DDR is bool, jedec_ddr_data.c is
      never compiled as a module.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      5ec47cda
    • Masahiro Yamada's avatar
      memory: move jedec_ddr_data.c from lib/ to drivers/memory/ · 7b43b8fd
      Masahiro Yamada authored
      jedec_ddr_data.c exports 3 symbols, and all of them are only
      referenced from drivers/memory/{emif.c,of_memory.c}
      
      drivers/memory/ is a better location than lib/.
      
      I removed the Kconfig prompt "JEDEC DDR data" because it is only
      select'ed by TI_EMIF, and there is no other user. There is no good
      reason in making it a user-configurable CONFIG option.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      7b43b8fd
    • Olof Johansson's avatar
      Merge tag 'tee-maint-for-5.3' of... · c9727db7
      Olof Johansson authored
      Merge tag 'tee-maint-for-5.3' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers
      
      Adding mailing list for TEE subsystem
      
      * tag 'tee-maint-for-5.3' of https://git.linaro.org/people/jens.wiklander/linux-tee:
        MAINTAINERS: Add mailing list for the TEE subsystem
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      c9727db7
    • Olof Johansson's avatar
      Merge tag 'soc-fsl-next-v5.3' of... · 11260373
      Olof Johansson authored
      Merge tag 'soc-fsl-next-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux into arm/drivers
      
      NXP/FSL SoC driver updates for v5.3
      
      DPAA2 Console driver
      - Add driver to export two char devices to dump logs for MC and
        AIOP
      
      DPAA2 DPIO driver
      - Add support for memory backed QBMan portals
      - Increase the timeout period to prevent false error
      - Add APIs to retrieve QBMan portal probing status
      
      DPAA Qman driver
      - Only make liodn fixup on powerpc SoCs with PAMU iommu
      
      * tag 'soc-fsl-next-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux:
        soc: fsl: qbman_portals: add APIs to retrieve the probing status
        soc: fsl: qman: fixup liodns only on ppc targets
        soc: fsl: dpio: Add support for memory backed QBMan portals
        bus: mc-bus: Add support for mapping shareable portals
        soc: fsl: dpio: Increase timeout for QBMan Management Commands
        soc: fsl: add DPAA2 console support
        Documentation: DT: Add entry for DPAA2 console
        soc: fsl: guts: Add definition for LX2160A
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      11260373
    • David Brown's avatar
      MAINTAINERS: Remove myself as qcom maintainer · 2498f8c1
      David Brown authored
      I no longer regularly work on this platform, and only have a few
      increasingly outdated boards.  Andy has primarily been doing the
      maintenance.
      Signed-off-by: default avatarDavid Brown <david.brown@linaro.org>
      Signed-off-by: default avatarAndy Gross <agross@kernel.org>
      2498f8c1
    • Vijay Khemka's avatar
      soc: aspeed: lpc-ctrl: make parameter optional · e4272af4
      Vijay Khemka authored
      Making memory-region and flash as optional parameter in device
      tree if user needs to use these parameter through ioctl then
      need to define in devicetree.
      Signed-off-by: default avatarVijay Khemka <vijaykhemka@fb.com>
      Reviewed-by: default avatarAndrew Jeffery <andrew@aj.id.au>
      Signed-off-by: default avatarJoel Stanley <joel@jms.id.au>
      e4272af4
  8. 16 Jun, 2019 4 commits
    • Linus Torvalds's avatar
      Linux 5.2-rc5 · 9e0babf2
      Linus Torvalds authored
      9e0babf2
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 963172d9
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "The accumulated fixes from this and last week:
      
         - Fix vmalloc TLB flush and map range calculations which lead to
           stale TLBs, spurious faults and other hard to diagnose issues.
      
         - Use fault_in_pages_writable() for prefaulting the user stack in the
           FPU code as it's less fragile than the current solution
      
         - Use the PF_KTHREAD flag when checking for a kernel thread instead
           of current->mm as the latter can give the wrong answer due to
           use_mm()
      
         - Compute the vmemmap size correctly for KASLR and 5-Level paging.
           Otherwise this can end up with a way too small vmemmap area.
      
         - Make KASAN and 5-level paging work again by making sure that all
           invalid bits are masked out when computing the P4D offset. This
           worked before but got broken recently when the LDT remap area was
           moved.
      
         - Prevent a NULL pointer dereference in the resource control code
           which can be triggered with certain mount options when the
           requested resource is not available.
      
         - Enforce ordering of microcode loading vs. perf initialization on
           secondary CPUs. Otherwise perf tries to access a non-existing MSR
           as the boot CPU marked it as available.
      
         - Don't stop the resource control group walk early otherwise the
           control bitmaps are not updated correctly and become inconsistent.
      
         - Unbreak kgdb by returning 0 on success from
           kgdb_arch_set_breakpoint() instead of an error code.
      
         - Add more Icelake CPU model defines so depending changes can be
           queued in other trees"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback
        x86/kasan: Fix boot with 5-level paging and KASAN
        x86/fpu: Don't use current->mm to check for a kthread
        x86/kgdb: Return 0 from kgdb_arch_set_breakpoint()
        x86/resctrl: Prevent NULL pointer dereference when local MBM is disabled
        x86/resctrl: Don't stop walking closids when a locksetup group is found
        x86/fpu: Update kernel's FPU state before using for the fsave header
        x86/mm/KASLR: Compute the size of the vmemmap section properly
        x86/fpu: Use fault_in_pages_writeable() for pre-faulting
        x86/CPU: Add more Icelake model numbers
        mm/vmalloc: Avoid rare case of flushing TLB with weird arguments
        mm/vmalloc: Fix calculation of direct map addr range
      963172d9
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · efba92d5
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A set of small fixes:
      
         - Repair the ktime_get_coarse() functions so they actually deliver
           what they are supposed to: tick granular time stamps. The current
           code missed to add the accumulated nanoseconds part of the
           timekeeper so the resulting granularity was 1 second.
      
         - Prevent the tracer from infinitely recursing into time getter
           functions in the arm architectured timer by marking these functions
           notrace
      
         - Fix a trivial compiler warning caused by wrong qualifier ordering"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Repair ktime_get_coarse*() granularity
        clocksource/drivers/arm_arch_timer: Don't trace count reader functions
        clocksource/drivers/timer-ti-dm: Change to new style declaration
      efba92d5
    • Linus Torvalds's avatar
      Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f763cf8e
      Linus Torvalds authored
      Pull RAS fixes from Thomas Gleixner:
       "Two small fixes for RAS:
      
         - Use a proper search algorithm to find the correct element in the
           CEC array. The replacement was a better choice than fixing the
           crash causes by the original search function with horrible duct
           tape.
      
         - Move the timer based decay function into thread context so it can
           actually acquire the mutex which protects the CEC array to prevent
           corruption"
      
      * 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        RAS/CEC: Convert the timer callback to a workqueue
        RAS/CEC: Fix binary search function
      f763cf8e
  9. 15 Jun, 2019 8 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.2-3' of git://git.infradead.org/linux-platform-drivers-x86 · e01e060f
      Linus Torvalds authored
      Pull x86 platform driver fixes from Andy Shevchenko:
      
       - fix a couple of Mellanox driver enumeration issues
      
       - fix ASUS laptop regression with backlight
      
       - fix Dell computers that got a wrong mode (tablet versus laptop) after
         resume
      
      * tag 'platform-drivers-x86-v5.2-3' of git://git.infradead.org/linux-platform-drivers-x86:
        platform/mellanox: mlxreg-hotplug: Add devm_free_irq call to remove flow
        platform/x86: mlx-platform: Fix parent device in i2c-mux-reg device registration
        platform/x86: intel-vbtn: Report switch events when event wakes device
        platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi
      e01e060f
    • Linus Torvalds's avatar
      Merge tag 'usb-5.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · ff39074b
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are some small USB driver fixes for 5.2-rc5
      
        Nothing major, just some small gadget fixes, usb-serial new device
        ids, a few new quirks, and some small fixes for some regressions that
        have been found after the big 5.2-rc1 merge.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.2-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        usb: typec: Make sure an alt mode exist before getting its partner
        usb: gadget: udc: lpc32xx: fix return value check in lpc32xx_udc_probe()
        usb: gadget: dwc2: fix zlp handling
        usb: dwc2: Set actual frame number for completed ISOC transfer for none DDMA
        usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
        usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
        usb: phy: mxs: Disable external charger detect in mxs_phy_hw_init()
        usb: dwc2: Fix DMA cache alignment issues
        usb: dwc2: host: Fix wMaxPacketSize handling (fix webcam regression)
        USB: Fix chipmunk-like voice when using Logitech C270 for recording audio.
        USB: usb-storage: Add new ID to ums-realtek
        usb: typec: ucsi: ccg: fix memory leak in do_flash
        USB: serial: option: add Telit 0x1260 and 0x1261 compositions
        USB: serial: pl2303: add Allied Telesis VT-Kit3
        USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
      ff39074b
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · fa1827d7
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "One fix for a regression introduced by our 32-bit KASAN support, which
        broke booting on machines with "bootx" early debugging enabled.
      
        A fix for a bug which broke kexec on 32-bit, introduced by changes to
        the 32-bit STRICT_KERNEL_RWX support in v5.1.
      
        Finally two fixes going to stable for our THP split/collapse handling,
        discovered by Nick. The first fixes random crashes and/or corruption
        in guests under sufficient load.
      
        Thanks to: Nicholas Piggin, Christophe Leroy, Aaro Koskinen, Mathieu
        Malaterre"
      
      * tag 'powerpc-5.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/32s: fix booting with CONFIG_PPC_EARLY_DEBUG_BOOTX
        powerpc/64s: __find_linux_pte() synchronization vs pmdp_invalidate()
        powerpc/64s: Fix THP PMD collapse serialisation
        powerpc: Fix kexec failure on book3s/32
      fa1827d7
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 6a71398c
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
      
       - Out of range read of stack trace output
      
       - Fix for NULL pointer dereference in trace_uprobe_create()
      
       - Fix to a livepatching / ftrace permission race in the module code
      
       - Fix for NULL pointer dereference in free_ftrace_func_mapper()
      
       - A couple of build warning clean ups
      
      * tag 'trace-v5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Fix NULL pointer dereference in free_ftrace_func_mapper()
        module: Fix livepatch/ftrace module text permissions race
        tracing/uprobe: Fix obsolete comment on trace_uprobe_create()
        tracing/uprobe: Fix NULL pointer dereference in trace_uprobe_create()
        tracing: Make two symbols static
        tracing: avoid build warning with HAVE_NOP_MCOUNT
        tracing: Fix out-of-range read in trace_stack_print()
      6a71398c
    • Borislav Petkov's avatar
      x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback · 78f4e932
      Borislav Petkov authored
      Adric Blake reported the following warning during suspend-resume:
      
        Enabling non-boot CPUs ...
        x86: Booting SMP configuration:
        smpboot: Booting Node 0 Processor 1 APIC 0x2
        unchecked MSR access error: WRMSR to 0x10f (tried to write 0x0000000000000000) \
         at rIP: 0xffffffff8d267924 (native_write_msr+0x4/0x20)
        Call Trace:
         intel_set_tfa
         intel_pmu_cpu_starting
         ? x86_pmu_dead_cpu
         x86_pmu_starting_cpu
         cpuhp_invoke_callback
         ? _raw_spin_lock_irqsave
         notify_cpu_starting
         start_secondary
         secondary_startup_64
        microcode: sig=0x806ea, pf=0x80, revision=0x96
        microcode: updated to revision 0xb4, date = 2019-04-01
        CPU1 is up
      
      The MSR in question is MSR_TFA_RTM_FORCE_ABORT and that MSR is emulated
      by microcode. The log above shows that the microcode loader callback
      happens after the PMU restoration, leading to the conjecture that
      because the microcode hasn't been updated yet, that MSR is not present
      yet, leading to the #GP.
      
      Add a microcode loader-specific hotplug vector which comes before
      the PERF vectors and thus executes earlier and makes sure the MSR is
      present.
      
      Fixes: 400816f6 ("perf/x86/intel: Implement support for TSX Force Abort")
      Reported-by: default avatarAdric Blake <promarbler14@gmail.com>
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: <stable@vger.kernel.org>
      Cc: x86@kernel.org
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=203637
      78f4e932
    • Bjorn Andersson's avatar
      soc: qcom: apr: Don't use reg for domain id · 70d22b78
      Bjorn Andersson authored
      The reg property represents the address and size on the bus that a
      device lives, but for APR the parent is a rpmsg bus, which does not have
      numerical addresses. Simply defining #address/#size-cells to 1 and 0,
      respectively, to silence the compiler is not an appropriate solution.
      
      Replace the use of "reg" with an APR specific property.
      Reviewed-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      70d22b78
    • Randy Dunlap's avatar
      soc: qcom: fix QCOM_AOSS_QMP dependency and build errors · 6b9d226b
      Randy Dunlap authored
      Fix Kconfig warning and subsequent build errors that are caused
      when PM_GENERIC_DOMAINS=y but CONFIG_PM is not set/enabled.
      
      WARNING: unmet direct dependencies detected for PM_GENERIC_DOMAINS
        Depends on [n]: PM [=n]
        Selected by [m]:
        - QCOM_AOSS_QMP [=m] && (ARCH_QCOM || COMPILE_TEST [=y]) && MAILBOX [=y] && COMMON_CLK [=y]
      
      Fixes these build errors:
      
      ../drivers/base/power/domain.c: In function ‘genpd_queue_power_off_work’:
      ../drivers/base/power/domain.c:485:13: error: ‘pm_wq’ undeclared (first use in this function)
        queue_work(pm_wq, &genpd->power_off_work);
      ../drivers/base/power/domain.c:485:13: note: each undeclared identifier is reported only once for each function it appears in
      ../drivers/base/power/domain.c: In function ‘genpd_dev_pm_qos_notifier’:
      ../drivers/base/power/domain.c:675:25: error: ‘struct dev_pm_info’ has no member named ‘ignore_children’
         if (!dev || dev->power.ignore_children)
      ../drivers/base/power/domain.c: In function ‘rtpm_status_str’:
      ../drivers/base/power/domain.c:2754:16: error: ‘struct dev_pm_info’ has no member named ‘runtime_error’
        if (dev->power.runtime_error)
      ../drivers/base/power/domain.c:2756:21: error: ‘struct dev_pm_info’ has no member named ‘disable_depth’
        else if (dev->power.disable_depth)
      ../drivers/base/power/domain.c:2758:21: error: ‘struct dev_pm_info’ has no member named ‘runtime_status’
        else if (dev->power.runtime_status < ARRAY_SIZE(status_lookup))
      ../drivers/base/power/domain.c:2759:31: error: ‘struct dev_pm_info’ has no member named ‘runtime_status’
         p = status_lookup[dev->power.runtime_status];
      ../drivers/base/power/domain_governor.c: In function ‘default_suspend_ok’:
      ../drivers/base/power/domain_governor.c:82:17: error: ‘struct dev_pm_info’ has no member named ‘ignore_children’
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: Bjorn Andersson <bjorn.andersson@sonymobile.com>
      Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
      Cc: Andy Gross <andy.gross@linaro.org>
      Cc: David Brown <david.brown@linaro.org>
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      6b9d226b
    • Linus Torvalds's avatar
      Merge branch 'for-5.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 0011572c
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "This has an unusually high density of tricky fixes:
      
         - task_get_css() could deadlock when it races against a dying cgroup.
      
         - cgroup.procs didn't list thread group leaders with live threads.
      
           This could mislead readers to think that a cgroup is empty when
           it's not. Fixed by making PROCS iterator include dead tasks. I made
           a couple mistakes making this change and this pull request contains
           a couple follow-up patches.
      
         - When cpusets run out of online cpus, it updates cpusmasks of member
           tasks in bizarre ways. Joel improved the behavior significantly"
      
      * 'for-5.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: restore sanity to cpuset_cpus_allowed_fallback()
        cgroup: Fix css_task_iter_advance_css_set() cset skip condition
        cgroup: css_task_iter_skip()'d iterators must be advanced before accessed
        cgroup: Include dying leaders with live threads in PROCS iterations
        cgroup: Implement css_task_iter_skip()
        cgroup: Call cgroup_release() before __exit_signal()
        docs cgroups: add another example size for hugetlb
        cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css()
      0011572c