AgeCommit message (Collapse)AuthorLines
2016-04-28ethernet/jcore_emac: add J-Core ethernet driverv4.6-rc5+j2Rich Felker-0/+1548
This is sloppy and not ready for upstream.
2016-04-28sh: do not perform IPI-based cache flush except on boards that need itRich Felker-0/+3
Signed-off-by: Rich Felker <>
2016-04-28sh: add SMP support for J2Rich Felker-0/+144
Signed-off-by: Rich Felker <>
2016-04-28sh: SMP support for SH2 entry.SRich Felker-0/+50
The SH2 version of entry.S uses global variables, which need to be cpu-local in order to work with SMP. For ease of access from asm, simply use arrays indexed by cpu number, and require the availability of an address (mmio register or properly setup per-cpu memory) from which the current cpu's index can be read. Signed-off-by: Rich Felker <>
2016-04-28sh: add working futex atomic ops on userspace addresses for smpRich Felker-124/+134
The version of futex.h in asm-generic should really be adapted to do the same thing so that this hideous code does not have to be duplicated per-arch. Signed-off-by: Rich Felker <>
2016-04-28sh: add J2 atomics using the cas.l instructionRich Felker-210/+469
Signed-off-by: Rich Felker <>
2016-04-28led pulse hacks for J-Core PITRich Felker-0/+5
2016-04-28mmc: disable rescan for card changeRich Felker-2/+3
This is a hack to fix a nasty bug: the rescan is completely unsynchronized with use of the spi bus for spi-based mmc, and thus clobbers in-progress transfers when it happens. No idea what the right fix is.
2016-04-28sh: add device tree source for J2 FPGA on Mimas v2 boardj2-stableRich Felker-0/+98
Signed-off-by: Rich Felker <>
2016-04-28sh: add defconfig for J-Core J2Rich Felker-0/+38
This defconfig is intended not to be specific to a particular board; it enables drivers for all currently-supported hardware, and should be updated to include additional drivers as they are added. Signed-off-by: Rich Felker <>
2016-04-28spi: add driver for J-Core SPI controllerRich Felker-0/+271
Signed-off-by: Rich Felker <>
2016-04-28clocksource: add J-Core PIT/RTC driverRich Felker-0/+182
Signed-off-by: Rich Felker <>
2016-04-28irqchip: add J-Core AIC driverRich Felker-0/+102
Signed-off-by: Rich Felker <>
2016-04-28sh: add AT_HWCAP flag for J-Core cas.l instructionRich Felker-0/+3
Signed-off-by: Rich Felker <>
2016-04-28sh: add support for J-Core J2 processorRich Felker-4/+131
Signed-off-by: Rich Felker <>
2016-04-28sh: fix futex/robust_list on nommu modelsRich Felker-0/+1
The futex cmpxchg runtime testing in kernel/futex.c depends on accesses to address 0 producing EFAULT, which obviously does not work on nommu. Since SH always has cmpxchg, disable the broken runtime detection. At some point this should be fixed at the kernel/futex.c level. UP machines can always provide a working cmpxchg with interrupt masking, and SMP cannot function without a working cmpxchg anyway. Signed-off-by: Rich Felker <>
2016-04-28sh: disable aliased page logic on NOMMU modelsRich Felker-0/+8
SH3/4 (with MMU) have a virtually indexed cache, requiring explicit work to avoid consistency problems arising from having the same physical address range cached in multiple cache lines. This is unneeded for the NOMMU case, and some of the resulting code paths (kmap_coherent) don't work. SH2 only avoided this problem by having a 4-way associative cache with way size equal to the page size (4k), yielding no cache index bits outside of the page offset and thus no aliases. Signed-off-by: Rich Felker <>
2016-04-28sh: make sigcontext definition consistent across fpu/nofpu modelsRich Felker-3/+0
Up until now, the SH version of the sigcontext structure, and thus mcontext_t/ucontext_t, varied depending on the cpu model the kernel was built to run on. SH-4 (including SH-4A) and SH-2A used the form with space for FPU registers, and everything else used a form that omitted them. From a userspace perspective, however, the structure layout must be fixed for a given ABI. Traditionally glibc and uClibc used the form with space for FPU registers only when __SH4__ (which implies FPU; __SH4_NOFPU__ is the predefined macro for SH-4 but with no-FPU ABI) was defined. As a result: - SH-4 no-FPU programs never matched kernel sigcontext. - SH-3 programs did not match kernel sigcontext if run on SH-4, despite an apparent intent that they be compatible. - SH-2 and SH-2A programs (using uClibc) did not match kernel sigcontext if run on SH-2A. The mismatch might seem inconsequential because it occurs at the end of the sigcontext structure, but sigcontext is embedded as uc_mcontext in ucontext_t, where it is followed by uc_sigmask, an important member for signal handlers to have access to. In particular, access to uc_sigmask is necessary for a correct implementation of thread cancellation. It would be possible to retain support for both sigcontext ABIs via a personality mechanism, but since many configurations were already broken and nobody noticed, and since there are very few if any users of legacy no-FPU models anymore, I have opted to just remove the variation and always include space for the FPU registers in sigcontext. This was proposed and discussed on a thread "SH sigcontext ABI is broken" cross-posted to linux-sh, libc-alpha, and musl libc lists in June 2015, and no objections were raised. Signed-off-by: Rich Felker <>
2016-04-28sh: add support for linking a builtin device tree blob in the kernelRich Felker-3/+41
Signed-off-by: Rich Felker <>
2016-04-28sh: cmpxchg: fix a bit shift bug in big_endian osPan Xinhui-1/+1
Correct bitoff in big endian OS. Current code works correctly for 1 byte but not for 2 bytes. Fixes: 3226aad81aa6 ("sh: support 1 and 2 byte xchg") Signed-off-by: Pan Xinhui <> Acked-by: Michael S. Tsirkin <> Signed-off-by: Rich Felker <>
2016-04-28sh-sci: SysRq support on EARLYCONYoshinori Sato-1/+3
Add missing flag condition. Signed-off-by: Yoshinori Sato <>
2016-04-28ramfs: fix VM_MAYSHARE mappings for NOMMURich Felker-6/+2
The nommu do_mmap expects f_op->get_unmapped_area to either succeed or return -ENOSYS for VM_MAYSHARE (e.g. private read-only) mappings. Returning addr in the non-MAP_SHARED case was completely wrong, and only happened to work because addr was 0. However, it prevented VM_MAYSHARE mappings from sharing backing with the fs cache, and forced such mappings (including shareable program text) to be copied whenever the number of mappings transitioned from 0 to 1, impacting performance and memory usage. Subsequent mappings beyond the first still correctly shared memory with the first. Instead, treat VM_MAYSHARE identically to VM_SHARED at the file ops level; do_mmap already handles the semantic differences between them. Signed-off-by: Rich Felker <>
2016-04-28futex: fix shared futex operations on nommuRich Felker-0/+2
The shared get_futex_key code does not work on nommu, but is not needed anyway because it's impossible for a given backing to have multiple distinct virtual addresses on nommu. Simply disable these code paths by refraining from setting FLAG_SHARED when CONFIG_MMU is not enabled. Signed-off-by: Rich Felker <>
2016-04-24Linux 4.6-rc5v4.6-rc5Linus Torvalds-1/+1
2016-04-23Merge branch 'fixes' of ↵Linus Torvalds-11/+12
git:// Pull thermal fixes from Eduardo Valentin: "Specifics in this pull request: - Fixes in mediatek and OF thermal drivers - Fixes in power_allocator governor - More fixes of unsigned to int type change in thermal_core.c. These change have been CI tested using KernelCI bot. \o/" * 'fixes' of git:// thermal: fix Mediatek thermal controller build thermal: consistently use int for trip temp thermal: fix mtk_thermal build dependency thermal: minor mtk_thermal.c cleanups thermal: power_allocator: req_range multiplication should be a 64 bit type thermal: of: add __init attribute
2016-04-23Merge tag 'asm-generic-4.6' of ↵Linus Torvalds-1/+5
git:// Pull asm-generic update from Arnd Bergmann: "Here is one patch to wire up the preadv/pwritev system calls in the generic system call table, which is required for all architectures that were merged in the last few years, including arm64. Usually these get merged along with the syscall implementation or one of the architecture trees, but this time that did not happen. Andre and Christoph both sent a version of this patch, I picked the one I got first" * tag 'asm-generic-4.6' of git:// generic syscalls: wire up preadv2 and pwritev2 syscalls
2016-04-23generic syscalls: wire up preadv2 and pwritev2 syscallsAndre Przywara-1/+5
These new syscalls are implemented as generic code, so enable them for architectures like arm64 which use the generic syscall table. Signed-off-by: Andre Przywara <> Signed-off-by: Arnd Bergmann <>
2016-04-23Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds-7/+42
git:// Pull x86 fixes from Ingo Molnar: "Misc fixes: two EDAC driver fixes, a Xen crash fix, a HyperV log spam fix and a documentation fix" * 'x86-urgent-for-linus' of git:// x86 EDAC, sb_edac.c: Take account of channel hashing when needed x86 EDAC, sb_edac.c: Repair damage introduced when "fixing" channel address x86/mm/xen: Suppress hugetlbfs in PV guests x86/doc: Correct limits in Documentation/x86/x86_64/mm.txt x86/hyperv: Avoid reporting bogus NMI status for Gen2 instances
2016-04-23Merge branches 'perf-urgent-for-linus', 'smp-urgent-for-linus' and ↵Linus Torvalds-9/+28
'timers-urgent-for-linus' of git:// Pull perf, cpu hotplug and timer fixes from Ingo Molnar: "perf: - A single tooling fix for a user-triggerable segfault. CPU hotplug: - Fix a CPU hotplug corner case regression, introduced by the recent hotplug rework timers: - Fix a boot hang in the ARM based Tango SoC clocksource driver" * 'perf-urgent-for-linus' of git:// perf intel-pt: Fix segfault tracing transactions * 'smp-urgent-for-linus' of git:// cpu/hotplug: Fix rollback during error-out in __cpu_disable() * 'timers-urgent-for-linus' of git:// clocksource/drivers/tango-xtal: Fix boot hang due to incorrect test
2016-04-23Merge branch 'locking-urgent-for-linus' of ↵Linus Torvalds-9/+34
git:// Pull locking fixes from Ingo Molnar: "Misc fixes: pvqspinlocks: - an instrumentation fix futexes: - preempt-count vs pagefault_disable decouple corner case fix - futex requeue plist race window fix - futex UNLOCK_PI transaction fix for a corner case" * 'locking-urgent-for-linus' of git:// asm-generic/futex: Re-enable preemption in futex_atomic_cmpxchg_inatomic() futex: Acknowledge a new waiter in counter before plist futex: Handle unlock_pi race gracefully locking/pvqspinlock: Fix division by zero in qstat_read()
2016-04-23Merge branch 'irq-urgent-for-linus' of ↵Linus Torvalds-2/+3
git:// Pull irq fixes from Ingo Molnar: "A core irq affinity masks related fix and a MIPS irqchip driver fix" * 'irq-urgent-for-linus' of git:// irqchip/mips-gic: Don't overrun pcpu_masks array genirq: Dont allow affinity mask to be updated on IPIs
2016-04-23Merge branch 'core-urgent-for-linus' of ↵Linus Torvalds-35/+103
git:// Pull objtool fixes from Ingo Molnar: "A handful of objtool fixes: two improvements to how warnings are printed plus a false positive warning fix, and build environment fix" * 'core-urgent-for-linus' of git:// objtool: Fix Makefile to properly see if libelf is supported objtool: Detect falling through to the next function objtool: Add workaround for GCC switch jump table bug
2016-04-23Merge tag 'usb-4.6-rc5' of ↵Linus Torvalds-35/+78
git:// Pull USB / PHY driver fixes from Greg KH: "Here are two small sets of patches, both from subsystem trees, USB gadget and PHY drivers. Full details are in the shortlog, and they have all been in linux-next for a while (before I merged them to the USB tree)" * tag 'usb-4.6-rc5' of git:// usb: gadget: f_fs: Fix use-after-free usb: dwc3: gadget: Fix suspend/resume during device mode usb: dwc3: fix memory leak of dwc->regset usb: dwc3: core: fix PHY handling during suspend usb: dwc3: omap: fix up error path on probe() usb: gadget: composite: Clear reserved fields of SSP Dev Cap phy: rockchip-emmc: adapt binding to specifiy register offset and length phy: rockchip-emmc: should be a child device of the GRF phy: rockchip-dp: should be a child device of the GRF
2016-04-23Merge tag 'tty-4.6-rc5' of ↵Linus Torvalds-6/+14
git:// Pull serial fixes from Greg KH: "Here are 3 serial driver fixes for issues that have been reported. Two are reverts, fixing problems that were in the big TTY/Serial driver merge in 4.6-rc1, and the last one is a simple bugfix for a regression that showed up in 4.6-rc1 as well. All have been in linux-next with no reported issues" * tag 'tty-4.6-rc5' of git:// Revert "serial: 8250: Add hardware dependency to RT288X option" tty/serial/8250: fix RS485 half-duplex RX Revert "serial-uartlite: Constify uartlite_be/uartlite_le"
2016-04-23Merge branch 'for-linus' of ↵Linus Torvalds-13/+20
git:// Pull input subsystem fixes from Dmitry Torokhov: "Just minor driver fixes" * 'for-linus' of git:// Input: twl4030-vibra - do not reparent to grandparent Input: twl6040-vibra - do not reparent to grandparent Input: twl6040-vibra - ignore return value of schedule_work Input: twl6040-vibra - fix NULL pointer dereference by removing workqueue Input: pmic8xxx-pwrkey - fix algorithm for converting trigger delay Input: arizona-haptic - don't assign input_dev parent Input: clarify we want BTN_TOOL_<name> on proximity Input: xpad - add Mad Catz FightStick TE 2 VID/PID Input: gtco - fix crash on detecting device without endpoints
2016-04-22Merge tag 'pinctrl-v4.6-3' of ↵Linus Torvalds-7/+9
git:// Pull pin control fixes from Linus Walleij: "Some pin control driver fixes came in. One headed for stable and the other two are just ordinary merge window fixes. - Make the i.MX driver select REGMAP as a dependency - Fix up the Mediatek debounce time unit - Fix a real hairy ffs vs __ffs issue in the Single pinctrl driver" * tag 'pinctrl-v4.6-3' of git:// pinctrl: single: Fix pcs_parse_bits_in_pinctrl_entry to use __ffs than ffs pinctrl: mediatek: correct debounce time unit in mtk_gpio_set_debounce pinctrl: imx: Kconfig: PINCTRL_IMX select REGMAP
2016-04-22Merge tag 'arm64-fixes' of ↵Linus Torvalds-8/+31
git:// Pull arm64 fixes from Catalin Marinas: - Cache invalidation fix for early CPU boot status update (incorrect cacheline) - of_put_node() missing in the spin_table code - EL1/El2 early init inconsistency when Virtualisation Host Extensions are present - RCU warning fix in the arm_pmu.c driver * tag 'arm64-fixes' of git:// arm64: Fix EL1/EL2 early init inconsistencies with VHE drivers/perf: arm-pmu: fix RCU usage on pmu resume from low-power arm64: spin-table: add missing of_node_put() arm64: fix invalidation of wrong __early_cpu_boot_status cacheline
2016-04-22Merge tag 'powerpc-4.6-3' of ↵Linus Torvalds-11/+16
git:// Pull powerpc fixes from Michael Ellerman: "Three powerpc cpu feature fixes from Anton Blanchard: - scan_features() updated incorrect bits for REAL_LE - update cpu_user_features2 in scan_features() - update TM user feature bits in scan_features()" * tag 'powerpc-4.6-3' of git:// powerpc: Update TM user feature bits in scan_features() powerpc: Update cpu_user_features2 in scan_features() powerpc: scan_features() updates incorrect bits for REAL_LE
2016-04-22Merge tag 'iommu-fixes-v4.6-rc4' of ↵Linus Torvalds-18/+91
git:// Pull IOMMU fixes from Joerg Roedel: "The fixes include: - Two patches to revert the use of default domains in the ARM SMMU driver. Enabling this caused regressions which need more thorough fixing. So the regressions are fixed for now by disabling the use of default domains. - A fix for a v4.4 regression in the AMD IOMMU driver which broke devices behind invisible PCIe-to-PCI bridges with IOMMU enabled" * tag 'iommu-fixes-v4.6-rc4' of git:// iommu/arm-smmu: Don't allocate resources for bypass domains iommu/arm-smmu: Fix stream-match conflict with IOMMU_DOMAIN_DMA iommu/amd: Fix checking of pci dma aliases
2016-04-22Merge branch 'drm-fixes' of git:// Torvalds-63/+126
Pull drm fixes from Dave Airlie: "i915, nouveau and amdgpu/radeon fixes in this: nouveau: Two fixes, one for a regression with dithering and one for a bug hit by the userspace drivers. i915: A few fixes, mostly things heading for stable, two important skylake GT3/4 hangs. radeon/amdgpu: Some audio, suspend/resume and some runtime PM fixes, along with two patches to harden the userptr ABI a bit" * 'drm-fixes' of git:// (24 commits) drm: Loongson-3 doesn't fully support wc memory drm/nouveau/gr/gf100: select a stream master to fixup tfb offset queries amdgpu/uvd: add uvd fw version for amdgpu drm/amdgpu: forbid mapping of userptr bo through radeon device file drm/radeon: forbid mapping of userptr bo through radeon device file drm/amdgpu: bump the afmt limit for CZ, ST, Polaris drm/amdgpu: use defines for CRTCs and AMFT blocks drm/dp/mst: Validate port in drm_dp_payload_send_msg() drm/nouveau/kms: fix setting of default values for dithering properties drm/radeon: print a message if ATPX dGPU power control is missing Revert "drm/radeon: disable runtime pm on PX laptops without dGPU power control" drm/amdgpu/acp: fix resume on CZ systems with AZ audio drm/radeon: add a quirk for a XFX R9 270X drm/radeon: print pci revision as well as pci ids on driver load drm/i915: Use fw_domains_put_with_fifo() on HSW drm/i915: Force ringbuffers to not be at offset 0 drm/i915: Adjust size of PIPE_CONTROL used for gen8 render seqno write drm/i915/skl: Fix spurious gpu hang with gt3/gt4 revs drm/i915/skl: Fix rc6 based gpu/system hang drm/i915/userptr: Hold mmref whilst calling get-user-pages ...
2016-04-22Merge tag 'sound-4.6-rc5' of ↵Linus Torvalds-20/+59
git:// Pull sound fixes from Takashi Iwai: "Again a relatively calm week without surprise: most of fixes are about HD-audio, including fixes for Cirrus codec regression and a race over regmap access. Although both change are slightly unintuitive, the risk of further breakage is quite low, I hope. Other than that, all the rest are trivial" * tag 'sound-4.6-rc5' of git:// ALSA: hda - Fix possible race on regmap bypass flip ALSA: pcxhr: Fix missing mutex unlock ALSA: hda - add PCI ID for Intel Broxton-T ALSA: hda - Keep powering up ADCs on Cirrus codecs ALSA: hda/realtek - Add ALC3234 headset mode for Optiplex 9020m ALSA - hda: hdmi check NULL pointer in hdmi_set_chmap ALSA: hda - Don't trust the reported actual power state
2016-04-22Merge tag 'phy-for-4.6-rc' of ↵Greg Kroah-Hartman-18/+34
git:// into usb-linus Kishon writes: phy: for 4.6-rc *) make rockchip-dp and rockchip-emmc PHY child device of GRF Signed-off-by: Kishon Vijay Abraham I <>
2016-04-22x86 EDAC, sb_edac.c: Take account of channel hashing when neededTony Luck-1/+23
Haswell and Broadwell can be configured to hash the channel interleave function using bits [27:12] of the physical address. On those processor models we must check to see if hashing is enabled (bit21 of the HASWELL_HASYSDEFEATURE2 register) and act accordingly. Based on a patch by patrickg <> Tested-by: Patrick Geary <> Signed-off-by: Tony Luck <> Acked-by: Mauro Carvalho Chehab <> Cc: Aristeu Rozanski <> Cc: Borislav Petkov <> Cc: Linus Torvalds <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Cc: Signed-off-by: Ingo Molnar <>
2016-04-22x86 EDAC, sb_edac.c: Repair damage introduced when "fixing" channel addressTony Luck-3/+3
In commit: eb1af3b71f9d ("Fix computation of channel address") I switched the "sck_way" variable from holding the log2 value read from the h/w to instead be the actual number. Unfortunately it is needed in log2 form when used to shift the address. Tested-by: Patrick Geary <> Signed-off-by: Tony Luck <> Acked-by: Mauro Carvalho Chehab <> Cc: Aristeu Rozanski <> Cc: Borislav Petkov <> Cc: Linus Torvalds <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Cc: Fixes: eb1af3b71f9d ("Fix computation of channel address") Signed-off-by: Ingo Molnar <>
2016-04-22Merge tag 'fixes-for-v4.6-rc5' of ↵Greg Kroah-Hartman-17/+44
git:// into usb-linus Felipe writes: usb: fixes for v4.6-rc5 No more major fixes left. Out of the 6 fixes we have here, 4 are on dwc3. The most important is the memory leak fix in dwc3/debugfs.c. We also have a fix for PHY handling in suspend/resume and a fix for dwc3-omap's error handling. Suspend/resume also had the potential to trigger a NULL pointer dereference on dwc3; that's also fixed now. Our good ol' ffs function gets a use-after-free fix while the generic composite.c layer has a robustness fix by making sure reserved fields of a possible SSP device capability descriptor is cleared to 0.
2016-04-22x86/mm/xen: Suppress hugetlbfs in PV guestsJan Beulich-0/+1
Huge pages are not normally available to PV guests. Not suppressing hugetlbfs use results in an endless loop of page faults when user mode code tries to access a hugetlbfs mapped area (since the hypervisor denies such PTEs to be created, but error indications can't be propagated out of xen_set_pte_at(), just like for various of its siblings), and - once killed in an oops like this: kernel BUG at .../fs/hugetlbfs/inode.c:428! invalid opcode: 0000 [#1] SMP ... RIP: e030:[<ffffffff811c333b>] [<ffffffff811c333b>] remove_inode_hugepages+0x25b/0x320 ... Call Trace: [<ffffffff811c3415>] hugetlbfs_evict_inode+0x15/0x40 [<ffffffff81167b3d>] evict+0xbd/0x1b0 [<ffffffff8116514a>] __dentry_kill+0x19a/0x1f0 [<ffffffff81165b0e>] dput+0x1fe/0x220 [<ffffffff81150535>] __fput+0x155/0x200 [<ffffffff81079fc0>] task_work_run+0x60/0xa0 [<ffffffff81063510>] do_exit+0x160/0x400 [<ffffffff810637eb>] do_group_exit+0x3b/0xa0 [<ffffffff8106e8bd>] get_signal+0x1ed/0x470 [<ffffffff8100f854>] do_signal+0x14/0x110 [<ffffffff810030e9>] prepare_exit_to_usermode+0xe9/0xf0 [<ffffffff814178a5>] retint_user+0x8/0x13 This is CVE-2016-3961 / XSA-174. Reported-by: Vitaly Kuznetsov <> Signed-off-by: Jan Beulich <> Cc: Andrew Morton <> Cc: Andy Lutomirski <> Cc: Boris Ostrovsky <> Cc: Borislav Petkov <> Cc: Brian Gerst <> Cc: David Vrabel <> Cc: Denys Vlasenko <> Cc: H. Peter Anvin <> Cc: Juergen Gross <> Cc: Linus Torvalds <> Cc: Luis R. Rodriguez <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Toshi Kani <> Cc: Cc: xen-devel <> Link: Signed-off-by: Ingo Molnar <>
2016-04-22x86/doc: Correct limits in Documentation/x86/x86_64/mm.txtJuergen Gross-3/+3
Correct the size of the module mapping space and the maximum available physical memory size of current processors. Signed-off-by: Juergen Gross <> Cc: Linus Torvalds <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Cc: Link: Signed-off-by: Ingo Molnar <>
2016-04-22cpu/hotplug: Fix rollback during error-out in __cpu_disable()Sebastian Andrzej Siewior-7/+26
The recent introduction of the hotplug thread which invokes the callbacks on the plugged cpu, cased the following regression: If takedown_cpu() fails, then we run into several issues: 1) The rollback of the target cpu states is not invoked. That leaves the smp threads and the hotplug thread in disabled state. 2) notify_online() is executed due to a missing skip_onerr flag. That causes that both CPU_DOWN_FAILED and CPU_ONLINE notifications are invoked which confuses quite some notifiers. 3) The CPU_DOWN_FAILED notification is not invoked on the target CPU. That's not an issue per se, but it is inconsistent and in consequence blocks the patches which rely on these states being invoked on the target CPU and not on the controlling cpu. It also does not preserve the strict call order on rollback which is problematic for the ongoing state machine conversion as well. To fix this we add a rollback flag to the remote callback machinery and invoke the rollback including the CPU_DOWN_FAILED notification on the remote cpu. Further mark the notify online state with 'skip_onerr' so we don't get a double invokation. This workaround will go away once we moved the unplug invocation to the target cpu itself. [ tglx: Massaged changelog and moved the CPU_DOWN_FAILED notifiaction to the target cpu ] Fixes: 4cb28ced23c4 ("cpu/hotplug: Create hotplug threads") Reported-by: Heiko Carstens <> Signed-off-by: Sebastian Andrzej Siewior <> Cc: Cc: Cc: Martin Schwidefsky <> Cc: Anna-Maria Gleixner <> Link: Signed-off-by: Thomas Gleixner <>
2016-04-22clocksource/drivers/tango-xtal: Fix boot hang due to incorrect testDaniel Lezcano-1/+1
Commit 0881841f7e78 introduced a regression by inverting a test check after calling clocksource_mmio_init(). That results on the system to hang at boot time. Fix it by inverting the test again. Fixes: 0881841f7e78 ("Replace code by clocksource_mmio_init") Reported-by: Marc Gonzalez <> Signed-off-by: Daniel Lezcano <>
2016-04-22objtool: Fix Makefile to properly see if libelf is supportedSteven Rostedt-1/+2
When doing a make allmodconfig, I hit the following compile error: In file included from builtin-check.c:32:0: elf.h:22:18: fatal error: gelf.h: No such file or directory compilation terminated. ... Digging into it, it appears that the $(shell ..) command in the Makefile does not give the proper result when it fails to find -lelf, and continues to compile objtool. Instead, use the "try-run" makefile macro to perform the test. This gives a proper result for both cases. Signed-off-by: Steven Rostedt <> Acked-by: Josh Poimboeuf <> Cc: Andrew Morton <> Cc: Andy Lutomirski <> Cc: Arnaldo Carvalho de Melo <> Cc: Bernd Petrovitsch <> Cc: Borislav Petkov <> Cc: Chris J Arges <> Cc: Jiri Slaby <> Cc: Linus Torvalds <> Cc: Michal Marek <> Cc: Namhyung Kim <> Cc: Pedro Alves <> Cc: Peter Zijlstra <> Cc: Thomas Gleixner <> Cc: Fixes: 442f04c34a1a4 ("objtool: Add tool to perform compile-time stack metadata validation") Link: Signed-off-by: Ingo Molnar <>