1. 10 Apr, 2017 3 commits
  2. 07 Apr, 2017 4 commits
  3. 01 Apr, 2017 2 commits
  4. 31 Mar, 2017 5 commits
  5. 30 Mar, 2017 5 commits
  6. 29 Mar, 2017 6 commits
    • Vaidyanathan Srinivasan's avatar
      cpuidle: powernv: Pass correct drv->cpumask for registration · 293d264f
      Vaidyanathan Srinivasan authored
      drv->cpumask defaults to cpu_possible_mask in __cpuidle_driver_init().
      On PowerNV platform cpu_present could be less than cpu_possible in cases
      where firmware detects the cpu, but it is not available to the OS.  When
      CONFIG_HOTPLUG_CPU=n, such cpus are not hotplugable at runtime and hence
      we skip creating cpu_device.
      This breaks cpuidle on powernv where register_cpu() is not called for
      cpus in cpu_possible_mask that cannot be hot-added at runtime.
      Trying cpuidle_register_device() on cpu without cpu_device will cause
      crash like this:
      cpu 0xf: Vector: 380 (Data SLB Access) at [c000000ff1503490]
          pc: c00000000022c8bc: string+0x34/0x60
          lr: c00000000022ed78: vsnprintf+0x284/0x42c
          sp: c000000ff1503710
         msr: 9000000000009033
         dar: 6000000060000000
        current = 0xc000000ff1480000
        paca    = 0xc00000000fe82d00   softe: 0        irq_happened: 0x01
          pid   = 1, comm = swapper/8
      Linux version 4.11.0-rc2 (sv@sagarika) (gcc version 4.9.4
      (Buildroot 2017.02-00004-gc28573e) ) #15 SMP Fri Mar 17 19:32:02 IST 2017
      enter ? for help
      [link register   ] c00000000022ed78 vsnprintf+0x284/0x42c
      [c000000ff1503710] c00000000022ebb8 vsnprintf+0xc4/0x42c (unreliable)
      [c000000ff1503800] c00000000022ef40 vscnprintf+0x20/0x44
      [c000000ff1503830] c0000000000ab61c vprintk_emit+0x94/0x2cc
      [c000000ff15038a0] c0000000000acc9c vprintk_func+0x60/0x74
      [c000000ff15038c0] c000000000619694 printk+0x38/0x4c
      [c000000ff15038e0] c000000000224950 kobject_get+0x40/0x60
      [c000000ff1503950] c00000000022507c kobject_add_internal+0x60/0x2c4
      [c000000ff15039e0] c000000000225350 kobject_init_and_add+0x70/0x78
      [c000000ff1503a60] c00000000053c288 cpuidle_add_sysfs+0x9c/0xe0
      [c000000ff1503ae0] c00000000053aeac cpuidle_register_device+0xd4/0x12c
      [c000000ff1503b30] c00000000053b108 cpuidle_register+0x98/0xcc
      [c000000ff1503bc0] c00000000085eaf0 powernv_processor_idle_init+0x140/0x1e0
      [c000000ff1503c60] c00000000000cd60 do_one_initcall+0xc0/0x15c
      [c000000ff1503d20] c000000000833e84 kernel_init_freeable+0x1a0/0x25c
      [c000000ff1503dc0] c00000000000d478 kernel_init+0x24/0x12c
      [c000000ff1503e30] c00000000000b564 ret_from_kernel_thread+0x5c/0x78
      This patch fixes the bug by passing correct cpumask from
      powernv-cpuidle driver.
      Signed-off-by: default avatarVaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
      Reviewed-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
      Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      [ rjw: Comment massage ]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    • Lucas Stach's avatar
      drm/etnaviv: (re-)protect fence allocation with GPU mutex · f3cd1b06
      Lucas Stach authored
      The fence allocation needs to be protected by the GPU mutex, otherwise
      the fence seqnos of concurrent submits might not match the insertion order
      of the jobs in the kernel ring. This breaks the assumption that jobs
      complete with monotonically increasing fence seqnos.
      Fixes: d9853490 (drm/etnaviv: take GPU lock later in the submit process)
      CC: stable@vger.kernel.org #4.9+
      Signed-off-by: Lucas Stach's avatarLucas Stach <l.stach@pengutronix.de>
    • Javier Martinez Canillas's avatar
      usb: phy: isp1301: Fix build warning when CONFIG_OF is disabled · a7f12a21
      Javier Martinez Canillas authored
      Commit fd567653 ("usb: phy: isp1301: Add OF device ID table")
      added an OF device ID table, but used the of_match_ptr() macro
      that will lead to a build warning if CONFIG_OF symbol is disabled:
      drivers/usb/phy//phy-isp1301.c:36:34: warning: ‘isp1301_of_match’ defined but not used [-Wunused-const-variable=]
       static const struct of_device_id isp1301_of_match[] = {
      Fixes: fd567653 ("usb: phy: isp1301: Add OF device ID table")
      Reported-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    • Mathias Nyman's avatar
      xhci: Manually give back cancelled URB if we can't queue it for cancel · d3519b9d
      Mathias Nyman authored
      xhci needs to take care of four scenarios when asked to cancel a URB.
      1 URB is not queued or already given back.
        usb_hcd_check_unlink_urb() will return an error, we pass the error on
      2 We fail to find xhci internal structures from urb private data such as
        virtual device and endpoint ring.
        Give back URB immediately, can't do anything about internal structures.
      3 URB private data has valid pointers to xhci internal data, but host is
        not  responding.
        give back URB immedately and remove the URB from the endpoint lists.
      4 Everyting is working
        add URB to cancel list, queue a command to stop the endpoint, after
        which the URB can be turned to no-op or skipped, removed from lists,
        and given back.
      We failed to give back the urb in case 2 where the correct device and
      endpoint pointers could not be retrieved from URB private data.
      This caused a hang on Dell Inspiron 5558/0VNM2T at resume from suspend
      as urb was never returned.
      [  245.270505] INFO: task rtsx_usb_ms_1:254 blocked for more than 120 seconds.
      [  245.272244]       Tainted: G        W       4.11.0-rc3-ARCH #2
      [  245.273983] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      [  245.275737] rtsx_usb_ms_1   D    0   254      2 0x00000000
      [  245.277524] Call Trace:
      [  245.279278]  __schedule+0x2d3/0x8a0
      [  245.281077]  schedule+0x3d/0x90
      [  245.281961]  usb_kill_urb.part.3+0x6c/0xa0 [usbcore]
      [  245.282861]  ? wake_atomic_t_function+0x60/0x60
      [  245.283760]  usb_kill_urb+0x21/0x30 [usbcore]
      [  245.284649]  usb_start_wait_urb+0xe5/0x170 [usbcore]
      [  245.285541]  ? try_to_del_timer_sync+0x53/0x80
      [  245.286434]  usb_bulk_msg+0xbd/0x160 [usbcore]
      [  245.287326]  rtsx_usb_send_cmd+0x63/0x90 [rtsx_usb]
      Reported-by: diego.viola@gmail.com
      Tested-by: diego.viola@gmail.com
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    • Mathias Nyman's avatar
      xhci: Set URB actual length for stopped control transfers · 0ab2881a
      Mathias Nyman authored
      A control transfer that stopped at the status stage incorrectly
      warned about a "unexpected TRB Type 4", and did not set the
      transferred actual_length for the URB.
      The URB actual_length for control transfers should contain the
      bytes transferred in the data stage.
      Bytes of a partially sent setup stage and missing bytes from
      status stage should be left out.
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    • Adam Wallis's avatar
      xhci: plat: Register shutdown for xhci_plat · b07c1251
      Adam Wallis authored
      Shutdown should be called for xhci_plat devices especially for
      situations where kexec might be used by stopping DMA
      Signed-off-by: default avatarAdam Wallis <awallis@codeaurora.org>
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
  7. 28 Mar, 2017 11 commits
  8. 27 Mar, 2017 4 commits