04 Sep, 2016

7 commits

  • Pull timer fixes from Thomas Gleixner:
    "Two fixlet from the timers departement:

    - A fix for scheduler stalls in the tick idle code affecting
    NOHZ_FULL kernels

    - A trivial compile fix"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick/nohz: Fix softlockup on scheduler stalls in kvm guest
    clocksource/drivers/atmel-pit: Fix compilation error

    Linus Torvalds
     
  • Pull device mapper fixes from Mike Snitzer:

    - a stable fix in both DM crypt and DM log-writes for too large bios
    (as generated by bcache)

    - two other stable fixes for DM log-writes

    - a stable fix for a DM crypt bug that could result in freeing pointers
    from uninitialized memory in the tfm allocation error path

    - a DM bufio cleanup to discontinue using create_singlethread_workqueue()

    * tag 'dm-4.8-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm bufio: remove use of deprecated create_singlethread_workqueue()
    dm crypt: fix free of bad values after tfm allocation failure
    dm crypt: fix error with too large bios
    dm log writes: fix check of kthread_run() return value
    dm log writes: fix bug with too large bios
    dm log writes: move IO accounting earlier to fix error path

    Linus Torvalds
     
  • Pull arm64 fixes from Catalin Marinas:
    "arm64 and arm/perf fixes:

    - arm64 fix: debug exception unmasking on the CPU resume path

    - ARM PMU fixes: memory leak on error path and NULL pointer
    dereference"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: kernel: Fix unmasked debug exceptions when restoring mdscr_el1
    drivers/perf: arm_pmu: Fix NULL pointer dereference during probe
    drivers/perf: arm_pmu: Fix leak in error path

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg KH:
    "Here are a number of small driver fixes for 4.8-rc5.

    The largest thing here is deleting an obsolete driver,
    drivers/misc/bh1780gli.c, as the functionality of it was replaced by
    an iio driver a while ago.

    The other fixes are things that have been reported, or reverts of
    broken stuff (the binder change). All of these changes have been in
    linux-next for a while with no reported issues"

    * tag 'char-misc-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    thunderbolt: Don't declare Falcon Ridge unsupported
    thunderbolt: Add support for INTEL_FALCON_RIDGE_2C controller.
    thunderbolt: Fix resume quirk for Falcon Ridge 4C.
    lkdtm: Mark lkdtm_rodata_do_nothing() notrace
    mei: me: disable driver on SPT SPS firmware
    Revert "android: binder: fix dangling pointer comparison"
    drivers/iio/light/Kconfig: SENSORS_BH1780 cleanup
    android: binder: fix dangling pointer comparison
    misc: delete bh1780 driver

    Linus Torvalds
     
  • Pull staging/IIO driver fixes from Greg KH:
    "Here are a number of small fixes for staging and IIO drivers that
    resolve reported problems.

    Full details are in the shortlog. All of these have been in
    linux-next with no reported issues"

    * tag 'staging-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (35 commits)
    arm: dts: rockchip: add reset node for the exist saradc SoCs
    arm64: dts: rockchip: add reset saradc node for rk3368 SoCs
    iio: adc: rockchip_saradc: reset saradc controller before programming it
    iio: accel: kxsd9: Fix raw read return
    iio: adc: ti_am335x_adc: Increase timeout value waiting for ADC sample
    iio: adc: ti_am335x_adc: Protect FIFO1 from concurrent access
    include/linux: fix excess fence.h kernel-doc notation
    staging: wilc1000: correctly check if associatedsta has not been found
    staging: wilc1000: NULL dereference on error
    staging: wilc1000: txq_event: Fix coding error
    MAINTAINERS: Add file patterns for ion device tree bindings
    MAINTAINERS: Update maintainer entry for wilc1000
    iio: chemical: atlas-ph-sensor: fix typo in val assignment
    iio: fix sched WARNING "do not call blocking ops when !TASK_RUNNING"
    staging: comedi: ni_mio_common: fix AO inttrig backwards compatibility
    staging: comedi: dt2811: fix a precedence bug
    staging: comedi: adv_pci1760: Do not return EINVAL for CMDF_ROUND_DOWN.
    staging: comedi: ni_mio_common: fix wrong insn_write handler
    staging: comedi: comedi_test: fix timer race conditions
    staging: comedi: daqboard2000: bug fix board type matching code
    ...

    Linus Torvalds
     
  • Pull serial driver fixes from Greg KH:
    "Here are some small serial driver fixes for 4.8-rc5. One fixes an
    oft-reported build issue with the fintek driver, another reverts a
    patch that was causing problems, one fixes a crash, and some new
    device ids were added.

    All of these have been in linux-next for a while"

    * tag 'tty-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    serial: 8250: added acces i/o products quad and octal serial cards
    serial: 8250_mid: fix divide error bug if baud rate is 0
    Revert "tty/serial/8250: use mctrl_gpio helpers"
    8250/fintek: rename IRQ_MODE macro

    Linus Torvalds
     
  • Pull USB/PHY fixes from Greg KH:
    "Here are some USB and PHY driver fixes for 4.8-rc5

    Nothing major, lots of little fixes for reported bugs, and a build fix
    for a missing .h file that the phy drivers needed. All of these have
    been in linux-next for a while with no reported issues"

    * tag 'usb-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (24 commits)
    usb: musb: Fix locking errors for host only mode
    usb: dwc3: gadget: always decrement by 1
    usb: dwc3: debug: fix ep name on trace output
    usb: gadget: udc: core: don't starve DMA resources
    USB: serial: option: add WeTelecom 0x6802 and 0x6803 products
    USB: avoid left shift by -1
    USB: fix typo in wMaxPacketSize validation
    usb: gadget: Add the gserial port checking in gs_start_tx()
    usb: dwc3: gadget: don't rely on jiffies while holding spinlock
    usb: gadget: fsl_qe_udc: signedness bug in qe_get_frame()
    usb: gadget: function: f_rndis: socket buffer may be NULL
    usb: gadget: function: f_eem: socket buffer may be NULL
    usb: renesas_usbhs: gadget: fix return value check in usbhs_mod_gadget_probe()
    usb: dwc2: Add reset control to dwc2
    usb: dwc3: core: allow device to runtime_suspend several times
    usb: dwc3: pci: runtime_resume child device
    USB: serial: option: add WeTelecom WM-D200
    usb: chipidea: udc: don't touch DP when controller is in host mode
    USB: serial: mos7840: fix non-atomic allocation in write path
    USB: serial: mos7720: fix non-atomic allocation in write path
    ...

    Linus Torvalds
     

03 Sep, 2016

9 commits

  • Pull block fixes from Jens Axboe:
    "A collection of fixes for the nvme over fabrics code"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    nvme-rdma: Get rid of redundant defines
    nvme-rdma: Get rid of duplicate variable
    nvme: fabrics drivers don't need the nvme-pci driver
    nvme-fabrics: get a reference when reusing a nvme_host structure
    nvme-fabrics: change NQN UUID to big-endian format
    nvme-loop: set sqsize to 0-based value, per spec
    nvme-rdma: fix sqsize/hsqsize per spec
    fabrics: define admin sqsize min default, per spec
    nvmet-rdma: +1 to *queue_size from hsqsize/hrqsize
    nvmet-rdma: Fix use after free
    nvme-rdma: initialize ret to zero to avoid returning garbage

    Linus Torvalds
     
  • Pull TPM bugfix from James Morris.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    tpm: invalid self test error message

    Linus Torvalds
     
  • The driver emits invalid self test error message even though the init
    succeeds.

    Signed-off-by: Jarkko Sakkinen
    Fixes: cae8b441fc20 ("tpm: Factor out common startup code")
    Reviewed-by: James Morris
    Signed-off-by: James Morris

    Jarkko Sakkinen
     
  • Pull ACPI fixes ffrom Rafael Wysocki:
    "Two stable-candidate fixes for the ACPI early device probing code
    added during the 4.4 cycle, one fixing a typo in a stub macro used
    when CONFIG_ACPI is unset and one that prevents sleeping functions
    from being called under a spinlock (Lorenzo Pieralisi)"

    * tag 'acpi-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / drivers: replace acpi_probe_lock spinlock with mutex
    ACPI / drivers: fix typo in ACPI_DECLARE_PROBE_ENTRY macro

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "This includes a stable-candidate cpufreq-dt driver problem fix and
    annotations of tracepoints in the runtime PM framework.

    Specifics:

    - Fix the definition of the cpufreq-dt driver's machines table
    introduced during the 4.7 cycle that should be NULL-terminated, but
    the termination entry is missing from it (Wei Yongjun).

    - Annotate tracepoints in the runtime PM framework's core so as to
    allow the functions containing them to be called from the idle code
    path without causing RCU to complain about illegal usage (Paul
    McKenney)"

    * tag 'pm-4.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / runtime: Add _rcuidle suffix to allow rpm_idle() use from idle
    PM / runtime: Add _rcuidle suffix to allow rpm_resume() to be called from idle
    cpufreq: dt: Add terminate entry for of_device_id tables

    Linus Torvalds
     
  • * pm-cpufreq-fixes:
    cpufreq: dt: Add terminate entry for of_device_id tables

    * pm-core-fixes:
    PM / runtime: Add _rcuidle suffix to allow rpm_idle() use from idle
    PM / runtime: Add _rcuidle suffix to allow rpm_resume() to be called from idle

    Rafael J. Wysocki
     
  • Commit e647b532275b ("ACPI: Add early device probing infrastructure")
    introduced code that allows inserting driver specific
    struct acpi_probe_entry probe entries into ACPI linker sections
    (one per-subsystem, eg irqchip, clocksource) that are then walked
    to retrieve the data and function hooks required to probe the
    respective kernel components.

    Probing for all entries in a section is triggered through
    the __acpi_probe_device_table() function, that in turn, according
    to the table ID a given probe entry reports parses the table
    with the function retrieved from the respective section structures
    (ie struct acpi_probe_entry). Owing to the current ACPI table
    parsing implementation, the __acpi_probe_device_table() function
    has to share global variables with the acpi_match_madt() function, so
    in order to guarantee mutual exclusion locking is required
    between the two functions.

    Current kernel code implements the locking through the acpi_probe_lock
    spinlock; this has the side effect of requiring all code called
    within the lock (ie struct acpi_probe_entry.probe_{table/subtbl} hooks)
    not to sleep.

    However, kernel subsystems that make use of the early probing
    infrastructure are relying on kernel APIs that may sleep (eg
    irq_domain_alloc_fwnode(), among others) in the function calls
    pointed at by struct acpi_probe_entry.{probe_table/subtbl} entries
    (eg gic_v2_acpi_init()), which is a bug.

    Since __acpi_probe_device_table() is called from context
    that is allowed to sleep the acpi_probe_lock spinlock can be replaced
    with a mutex; this fixes the issue whilst still guaranteeing
    mutual exclusion.

    Signed-off-by: Lorenzo Pieralisi
    Fixes: e647b532275b (ACPI: Add early device probing infrastructure)
    Cc: 4.4+ # 4.4+
    Signed-off-by: Rafael J. Wysocki

    Lorenzo Pieralisi
     
  • Patch 7f1d642fbb5c ("drivers/perf: arm-pmu: Fix handling of SPI lacking
    interrupt-affinity property") unintended also fixes perf_event support
    for bcm2835 which doesn't have PMU interrupts. Unfortunately this change
    introduce a NULL pointer dereference on bcm2835, because irq_is_percpu
    always expected to be called with a valid IRQ. So fix this regression
    by validating the IRQ before.

    Tested-by: Kevin Hilman
    Signed-off-by: Stefan Wahren
    Fixes: 7f1d642fbb5c ("drivers/perf: arm-pmu: Fix handling of SPI lacking "interrupt-affinity" property")
    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Stefan Wahren
     
  • In case of a IRQ type mismatch in of_pmu_irq_cfg() the
    device node for interrupt affinity isn't freed. So fix this
    issue by calling of_node_put().

    Signed-off-by: Stefan Wahren
    Fixes: fa8ad7889d83 ("arm: perf: factor arm_pmu core out to drivers")
    Signed-off-by: Will Deacon
    Signed-off-by: Catalin Marinas

    Stefan Wahren
     

02 Sep, 2016

7 commits

  • Pull dmaengine fixes from Vinod Koul:
    "The fixes this time are all in drivers:

    - possible NULL dereference in img-mdc
    - correct device identity for free_irq in at_xdmac
    - missing of_node_put() in fsl probe
    - fix debug log and hotchain corner case for pxa-dma
    - fix checking hardware bits in isr in usb dmac"

    * tag 'dmaengine-fix-4.8-rc5' of git://git.infradead.org/users/vkoul/slave-dma:
    dmaengine: img-mdc: fix a possible NULL dereference
    dmaengine: at_xdmac: fix to pass correct device identity to free_irq()
    dmaengine: fsl_raid: add missing of_node_put() in fsl_re_probe()
    dmaengine: pxa_dma: fix debug message
    dmaengine: pxa_dma: fix hotchain corner case
    dmaengine: usb-dmac: check CHCR.DE bit in usb_dmac_isr_channel()

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Contains fixes for imx, amdgpu, vc4, msm and one nouveau ACPI fix"

    * tag 'drm-fixes-for-4.8-rc5' of git://people.freedesktop.org/~airlied/linux:
    drm/amdgpu: record error code when ring test failed
    drm/amd/amdgpu: compute ring test fail during S4 on CI
    drm/amd/amdgpu: sdma resume fail during S4 on CI
    drm/nouveau/acpi: use DSM if bridge does not support D3cold
    drm/imx: fix crtc vblank state regression
    drm/imx: Add active plane reconfiguration support
    drm/msm: protect against faults from copy_from_user() in submit ioctl
    drm/msm: fix use of copy_from_user() while holding spinlock
    drm/vc4: Fix oops when userspace hands in a bad BO.
    drm/vc4: Fix overflow mem unreferencing when the binner runs dry.
    drm/vc4: Free hang state before destroying BO cache.
    drm/vc4: Fix handling of a pm_runtime_get_sync() success case.
    drm/vc4: Use drm_malloc_ab to fix large rendering jobs.
    drm/vc4: Use drm_free_large() on handles to match its allocation.

    Linus Torvalds
     
  • This pull request brings in fixes for VC4 3D in 4.8, most of which are
    covered by testcases.

    * tag 'drm-vc4-fixes-2016-08-29' of https://github.com/anholt/linux:
    drm/vc4: Fix oops when userspace hands in a bad BO.
    drm/vc4: Fix overflow mem unreferencing when the binner runs dry.
    drm/vc4: Free hang state before destroying BO cache.
    drm/vc4: Fix handling of a pm_runtime_get_sync() success case.
    drm/vc4: Use drm_malloc_ab to fix large rendering jobs.
    drm/vc4: Use drm_free_large() on handles to match its allocation.

    Dave Airlie
     
  • imx-drm atomic modeset regression fixes

    - add active plane reconfiguration support
    - add back crtc vblank state reporting

    * tag 'imx-drm-fixes-2016-08-30' of git://git.pengutronix.de/git/pza/linux:
    drm/imx: fix crtc vblank state regression
    drm/imx: Add active plane reconfiguration support

    Dave Airlie
     
  • Pull clk fixes from Stephen Boyd:
    "A collection of small fixes for various SoC vendor clk drivers"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: rockchip: mark aclk_emmc_noc as a critical clock on rk3399
    clk: tegra: remove TEGRA_PLL_USE_LOCK for PLLD/PLLD2
    clk: rockchip: fix incorrect GATE bits for {c, g}pll_aclk_perihp_src on rk3399
    clk: rockchip: fix incorrect aclk_emmc source gate bits on rk3399
    clk: renesas: r8a7795: Fix SD clocks
    clk: rockchip: fix rk3399 aclk_vio gate bit
    clk: sunxi-ng: Fix inverted test condition in ccu_helper_wait_for_lock

    Linus Torvalds
     
  • Fix incorrect condition to identify involvment of a address translation
    mechanism.

    This bug results in NULL pointer kernel crash dump in cases when mapping
    of inbound RapidIO address range is requested within existing aprture.

    Link: http://lkml.kernel.org/r/20160901173144.2983-1-alexandre.bounine@idt.com
    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Andre van Herk
    Cc: Barry Wood
    Cc: [4.6+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Convert it to the preferred const struct pci_device_id instead.

    Link: http://lkml.kernel.org/r/95c5e4100c3cd4eda643624f5b70e8d7abceb86c.1472660229.git.joe@perches.com
    Signed-off-by: Joe Perches
    Reviewed-by: Bart Van Assche
    Cc: "James E.J. Bottomley"
    Cc: "Martin K. Petersen"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

01 Sep, 2016

5 commits


31 Aug, 2016

12 commits

  • Added devices ids for acces i/o products quad and octal serial cards
    that make use of existing Pericom PI7C9X7954 and PI7C9X7958
    configurations .

    Signed-off-by: Jimi Damon
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Jimi Damon
     
  • Since the commit c1a67b48f6a5 ("serial: 8250_pci: replace switch-case by
    formula for Intel MID"), the 8250 driver crashes in the byt_set_termios()
    function with a divide error. This is caused by the fact that a baud rate of 0
    (B0) is not handled properly. Fix it by falling back to B9600 in this case.

    Reported-by: "Mendez Salinas, Fernando"
    Fixes: c1a67b48f6a5 ("serial: 8250_pci: replace switch-case by formula for Intel MID")
    Cc: stable@vger.kernel.org
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • Serial console is broken in v4.8-rcX. Mika and I independently bisected down to
    commit 4ef03d328769 ("tty/serial/8250: use mctrl_gpio helpers").

    Since neither author nor anyone else didn't propose a solution we better revert
    it for now.

    This reverts commit 4ef03d328769eddbfeca1f1c958fdb181a69c341.

    Link: https://lkml.kernel.org/r/20160809130229.GN1729@lahna.fi.intel.com
    Signed-off-by: Andy Shevchenko
    Tested-by: Heikki Krogerus
    Tested-by: Mika Westerberg
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • Falcon Ridge 4C has been supported by the driver from the beginning,
    Falcon Ridge 2C support was just added. Don't irritate users with a
    warning declaring the opposite.

    Signed-off-by: Lukas Wunner
    Signed-off-by: Andreas Noever
    Signed-off-by: Greg Kroah-Hartman

    Lukas Wunner
     
  • From: Xavier Gnata

    Add support to INTEL_FALCON_RIDGE_2C controller and corresponding quirk
    to support suspend/resume.
    Tested against 4.7 master on a MacBook Air 11" 2015.

    Signed-off-by: Andreas Noever
    Reviewed-by: Lukas Wunner
    Signed-off-by: Greg Kroah-Hartman

    Xavier Gnata
     
  • The quirk 'quirk_apple_wait_for_thunderbolt' did not fire on Falcon
    Ridge 4C controllers with subdevice/subvendor set to zero. This lead
    to lost pci devices on system resume.

    Older thunderbolt controllers (pre Falcon Ridge) used the same device id
    for bridges and for the controller. On Apple hardware the subvendor- &
    subdevice-ids were set for the controller, but not for bridges. So that
    is what was used to differentiate between the two. Starting with Falcon
    Ridge bridges and controllers received different device ids.
    Additionally on some MacBookPro models (but not all) the
    subvendor/subdevice was zeroed.

    Starting with a42fb351c (thunderbolt: Allow loading of module on recent
    Apple MacBooks with thunderbolt 2 controller) the thunderbolt driver
    binds to all Falcon Ridge 4C controllers (irregardless of
    subvendor/subdevice). The corresponding quirk was not updated.

    This commit changes the quirk to check the device class instead of its
    subvendor-/subdeviceids. This works for all generations of Thunderbolt
    controllers.

    Signed-off-by: Andreas Noever
    Reviewed-by: Lukas Wunner
    Signed-off-by: Greg Kroah-Hartman

    Andreas Noever
     
  • lkdtm_rodata_do_nothing() is an empty function which is generated in
    order to test the non-executability of rodata.

    Currently if function tracing is enabled then an mcount callsite will be
    generated for lkdtm_rodata_do_nothing(), and it will appear in the list
    of available functions for function tracing (available_filter_functions).

    Given it's purpose purely as a test function, it seems preferable for
    lkdtm_rodata_do_nothing() to be marked notrace, so it doesn't appear as
    traceable.

    This also avoids triggering a linker bug on powerpc:

    https://sourceware.org/bugzilla/show_bug.cgi?id=20428

    When the linker sees code that needs to generate a call stub, eg. a
    branch to mcount(), it assumes the section is executable and
    dereferences a NULL pointer leading to a linker segfault. Marking
    lkdtm_rodata_do_nothing() notrace avoids triggering the bug because the
    function contains no other function calls.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     
  • Even if PR3 support is available on the bridge, it will not be used if
    the PCI layer considers it unavailable (i.e. on all laptops from 2013
    and 2014). Ensure that this condition is checked to allow a fallback to
    the Optimus DSM for device poweroff.

    Initially I wanted to call pci_d3cold_enable before checking bridge_d3
    (in case the user changed d3cold_allowed), but that is such an unlikely
    case and likely fragile anyway. The current patch is suggested by Mika
    in http://www.spinics.net/lists/linux-pci/msg52599.html

    Cc: Mika Westerberg
    Signed-off-by: Peter Wu
    Reviewed-by: Mika Westerberg
    Signed-off-by: Dave Airlie

    Peter Wu
     
  • This commit appends a few _rcuidle suffixes to fix the following
    RCU-used-from-idle bug:

    > ===============================
    > [ INFO: suspicious RCU usage. ]
    > 4.6.0-rc5-next-20160426+ #1116 Not tainted
    > -------------------------------
    > include/trace/events/rpm.h:95 suspicious rcu_dereference_check() usage!
    >
    > other info that might help us debug this:
    >
    >
    > RCU used illegally from idle CPU!
    > rcu_scheduler_active = 1, debug_locks = 0
    > RCU used illegally from extended quiescent state!
    > 1 lock held by swapper/0/0:
    > #0: (&(&dev->power.lock)->rlock){-.-...}, at: [] __rpm_callback+0x58/0x60
    >
    > stack backtrace:
    > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc5-next-20160426+ #1116
    > Hardware name: Generic OMAP36xx (Flattened Device Tree)
    > [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    > [] (show_stack) from [] (dump_stack+0xb0/0xe4)
    > [] (dump_stack) from [] (rpm_suspend+0x580/0x768)
    > [] (rpm_suspend) from [] (__pm_runtime_suspend+0x64/0x84)
    > [] (__pm_runtime_suspend) from [] (omap2_gpio_prepare_for_idle+0x5c/0x70)
    > [] (omap2_gpio_prepare_for_idle) from [] (omap_sram_idle+0x140/0x244)
    > [] (omap_sram_idle) from [] (omap3_enter_idle_bm+0xfc/0x1ec)
    > [] (omap3_enter_idle_bm) from [] (cpuidle_enter_state+0x80/0x3d4)
    > [] (cpuidle_enter_state) from [] (cpu_startup_entry+0x198/0x3a0)
    > [] (cpu_startup_entry) from [] (start_kernel+0x354/0x3c8)
    > [] (start_kernel) from [] (0x8000807c)

    In the immortal words of Steven Rostedt, "*Whack* *Whack* *Whack*!!!"

    Reported-by: Tony Lindgren
    Signed-off-by: Paul E. McKenney
    Tested-by: Tony Lindgren
    Tested-by: Guenter Roeck
    WhACKED-by: Steven Rostedt
    Signed-off-by: Rafael J. Wysocki

    Paul E. McKenney
     
  • This commit applies another _rcuidle suffix to fix an RCU use from
    idle.

    > ===============================
    > [ INFO: suspicious RCU usage. ]
    > 4.6.0-rc5-next-20160426+ #1122 Not tainted
    > -------------------------------
    > include/trace/events/rpm.h:69 suspicious rcu_dereference_check() usage!
    >
    > other info that might help us debug this:
    >
    >
    > RCU used illegally from idle CPU!
    > rcu_scheduler_active = 1, debug_locks = 0
    > RCU used illegally from extended quiescent state!
    > 1 lock held by swapper/0/0:
    > #0: (&(&dev->power.lock)->rlock){-.-...}, at: [] __pm_runtime_resume+0x3c/0x64
    >
    > stack backtrace:
    > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc5-next-20160426+ #1122
    > Hardware name: Generic OMAP36xx (Flattened Device Tree)
    > [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    > [] (show_stack) from [] (dump_stack+0xb0/0xe4)
    > [] (dump_stack) from [] (rpm_resume+0x5cc/0x7f4)
    > [] (rpm_resume) from [] (__pm_runtime_resume+0x4c/0x64)
    > [] (__pm_runtime_resume) from [] (omap2_gpio_resume_after_idle+0x54/0x68)
    > [] (omap2_gpio_resume_after_idle) from [] (omap3_enter_idle_bm+0xfc/0x1ec)
    > [] (omap3_enter_idle_bm) from [] (cpuidle_enter_state+0x80/0x3d4)
    > [] (cpuidle_enter_state) from [] (cpu_startup_entry+0x198/0x3a0)
    > [] (cpu_startup_entry) from [] (start_kernel+0x354/0x3c8)
    > [] (start_kernel) from [] (0x8000807c)

    Reported-by: Tony Lindgren
    Signed-off-by: Paul E. McKenney
    Tested-by: Tony Lindgren
    Tested-by: Guenter Roeck
    Signed-off-by: Rafael J. Wysocki

    Paul E. McKenney
     
  • Make sure of_device_id tables are NULL terminated.

    Signed-off-by: Wei Yongjun
    Acked-by: Viresh Kumar
    Fixes: f56aad1d98f1 (cpufreq: dt: Add generic platform-device creation support)
    CC: 4.7+ # 4.7+
    Signed-off-by: Rafael J. Wysocki

    Wei Yongjun
     
  • The workqueue "dm_bufio_wq" queues a single work item &dm_bufio_work so
    it doesn't require execution ordering. Hence, alloc_workqueue() has
    been used to replace the deprecated create_singlethread_workqueue().

    The WQ_MEM_RECLAIM flag has been set since DM requires forward progress
    under memory pressure.

    Since there are fixed number of work items, explicit concurrency
    limit is unnecessary here.

    Signed-off-by: Bhaktipriya Shridhar
    Signed-off-by: Mike Snitzer

    Bhaktipriya Shridhar