1. 03 9月, 2016 2 次提交
    • J
      tpm: invalid self test error message · 4a29b348
      Jarkko Sakkinen 提交于
      The driver emits invalid self test error message even though the init
      succeeds.
      Signed-off-by: NJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
      Fixes: cae8b441 ("tpm: Factor out common startup code")
      Reviewed-by: NJames Morris <james.l.morris@oracle.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      4a29b348
    • L
      ACPI / drivers: replace acpi_probe_lock spinlock with mutex · 5331d9ca
      Lorenzo Pieralisi 提交于
      Commit e647b532 ("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: NLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Fixes: e647b532 (ACPI: Add early device probing infrastructure)
      Cc: 4.4+ <stable@vger.kernel.org> # 4.4+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      5331d9ca
  2. 02 9月, 2016 2 次提交
  3. 01 9月, 2016 3 次提交
  4. 31 8月, 2016 4 次提交
    • P
      drm/nouveau/acpi: use DSM if bridge does not support D3cold · 279cf3f2
      Peter Wu 提交于
      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 <mika.westerberg@linux.intel.com>
      Signed-off-by: NPeter Wu <peter@lekensteyn.nl>
      Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      279cf3f2
    • P
      PM / runtime: Add _rcuidle suffix to allow rpm_idle() use from idle · d7737ce9
      Paul E. McKenney 提交于
      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: [<c052cc2c>] __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)
      > [<c0110290>] (unwind_backtrace) from [<c010c3a8>] (show_stack+0x10/0x14)
      > [<c010c3a8>] (show_stack) from [<c047fd68>] (dump_stack+0xb0/0xe4)
      > [<c047fd68>] (dump_stack) from [<c052d5d0>] (rpm_suspend+0x580/0x768)
      > [<c052d5d0>] (rpm_suspend) from [<c052ec58>] (__pm_runtime_suspend+0x64/0x84)
      > [<c052ec58>] (__pm_runtime_suspend) from [<c04bf25c>] (omap2_gpio_prepare_for_idle+0x5c/0x70)
      > [<c04bf25c>] (omap2_gpio_prepare_for_idle) from [<c0125568>] (omap_sram_idle+0x140/0x244)
      > [<c0125568>] (omap_sram_idle) from [<c01269dc>] (omap3_enter_idle_bm+0xfc/0x1ec)
      > [<c01269dc>] (omap3_enter_idle_bm) from [<c0601bdc>] (cpuidle_enter_state+0x80/0x3d4)
      > [<c0601bdc>] (cpuidle_enter_state) from [<c0183b08>] (cpu_startup_entry+0x198/0x3a0)
      > [<c0183b08>] (cpu_startup_entry) from [<c0b00c0c>] (start_kernel+0x354/0x3c8)
      > [<c0b00c0c>] (start_kernel) from [<8000807c>] (0x8000807c)
      
      In the immortal words of Steven Rostedt, "*Whack* *Whack* *Whack*!!!"
      Reported-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NGuenter Roeck <linux@roeck-us.net>
      WhACKED-by: NSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d7737ce9
    • P
      PM / runtime: Add _rcuidle suffix to allow rpm_resume() to be called from idle · d44c950e
      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: [<c052e3dc>] __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)
      > [<c0110290>] (unwind_backtrace) from [<c010c3a8>] (show_stack+0x10/0x14)
      > [<c010c3a8>] (show_stack) from [<c047fd68>] (dump_stack+0xb0/0xe4)
      > [<c047fd68>] (dump_stack) from [<c052e178>] (rpm_resume+0x5cc/0x7f4)
      > [<c052e178>] (rpm_resume) from [<c052e3ec>] (__pm_runtime_resume+0x4c/0x64)
      > [<c052e3ec>] (__pm_runtime_resume) from [<c04bf2c4>] (omap2_gpio_resume_after_idle+0x54/0x68)
      > [<c04bf2c4>] (omap2_gpio_resume_after_idle) from [<c01269dc>] (omap3_enter_idle_bm+0xfc/0x1ec)
      > [<c01269dc>] (omap3_enter_idle_bm) from [<c060198c>] (cpuidle_enter_state+0x80/0x3d4)
      > [<c060198c>] (cpuidle_enter_state) from [<c0183b08>] (cpu_startup_entry+0x198/0x3a0)
      > [<c0183b08>] (cpu_startup_entry) from [<c0b00c0c>] (start_kernel+0x354/0x3c8)
      > [<c0b00c0c>] (start_kernel) from [<8000807c>] (0x8000807c)
      Reported-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: NTony Lindgren <tony@atomide.com>
      Tested-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d44c950e
    • W
      cpufreq: dt: Add terminate entry for of_device_id tables · bd37e022
      Wei Yongjun 提交于
      Make sure of_device_id tables are NULL terminated.
      Signed-off-by: NWei Yongjun <weiyongjun1@huawei.com>
      Acked-by: NViresh Kumar <viresh.kumar@linaro.org>
      Fixes: f56aad1d (cpufreq: dt: Add generic platform-device creation support)
      CC: 4.7+ <stable@vger.kernel.org> # 4.7+
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      bd37e022
  5. 30 8月, 2016 3 次提交
  6. 29 8月, 2016 18 次提交
  7. 28 8月, 2016 2 次提交
  8. 27 8月, 2016 4 次提交
  9. 26 8月, 2016 2 次提交