1. 12 1月, 2018 1 次提交
    • U
      PM / wakeup: Print warn if device gets enabled as wakeup source during sleep · 0026cef0
      Ulf Hansson 提交于
      In general, wakeup settings are not supposed to be changed during any of
      the system wide PM phases. The reason is simply that it would break
      guarantees provided by the PM core, to properly act on active wakeup
      sources.
      
      However, there are exceptions to when, in particular, disabling a device as
      wakeup source makes sense. For example, in cases when a driver realizes
      that its device is dead during system suspend. For these scenarios, we
      don't need to care about acting on the wakeup source correctly, because a
      dead device shouldn't deliver wakeup signals.
      
      To this reasoning and to help users to properly manage wakeup settings,
      let's print a warning in cases someone calls device_wakeup_enable() during
      system sleep.
      Suggested-by: NRafael J. Wysocki <rafael@kernel.org>
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      [ rjw: Message to be printed ]
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0026cef0
  2. 10 1月, 2018 5 次提交
    • U
      PM / core: Propagate wakeup_path status flag in __device_suspend_late() · 0a99d767
      Ulf Hansson 提交于
      Currently the wakeup_path status flag becomes propagated from a child
      device to its parent device at __device_suspend(). This allows a driver
      dealing with a parent device to act on the flag from its ->suspend()
      callback.
      
      However, in situations when the wakeup_path status flag needs to be set
      from a ->suspend_late() callback, its value doesn't get propagated to the
      parent by the PM core. Let's address this limitation, by also propagating
      the flag at __device_suspend_late().
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0a99d767
    • U
      PM / core: Re-structure code for clearing the direct_complete flag · c23bd387
      Ulf Hansson 提交于
      To make the code more consistent, let's clear the parent's direct_complete
      flag along with clearing it for suppliers, instead of as currently, when
      propagating the wakeup_path flag to parents.
      
      While changing this, let's take the opportunity to rename the affected
      internal functions, to make them self-explanatory. Like this:
      
      dpm_clear_suppliers_direct_complete -> dpm_clear_superiors_direct_complete
      dpm_propagate_to_parent -> dpm_propagate_wakeup_to_parent
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      c23bd387
    • R
      PM: i2c-designware-platdrv: Optimize power management · 02e45646
      Rafael J. Wysocki 提交于
      Optimize the power management in i2c-designware-platdrv by making it
      set the DPM_FLAG_SMART_SUSPEND and DPM_FLAG_LEAVE_SUSPENDED which
      allows some code to be dropped from its PM callbacks.
      
      First, setting DPM_FLAG_SMART_SUSPEND causes the intel-lpss driver
      to avoid resuming i2c-designware-platdrv devices in its ->prepare
      callback, so they can stay in runtime suspend after that point even
      if the direct-complete feature is not used for them.
      
      It also causes the ACPI PM domain and the PM core to avoid invoking
      "late" and "noirq" suspend callbacks for these devices if they are
      in runtime suspend at the beginning of the "late" phase of device
      suspend during system suspend.  That guarantees dw_i2c_plat_suspend()
      to be called for a device only if it is not in runtime suspend.
      
      Moreover, it causes the device's runtime PM status to be set to
      "active" after calling dw_i2c_plat_resume() for it, so the
      driver doesn't need internal flags to avoid invoking either
      dw_i2c_plat_suspend() or dw_i2c_plat_resume() twice in a row.
      
      Second, setting DPM_FLAG_LEAVE_SUSPENDED enables the optimization
      allowing the device to stay suspended after system resume under
      suitable conditions, so again the driver doesn't need to take
      care of that by itself.
      
      Accordingly, the internal "suspended" and "skip_resume" flags
      used by the driver are not necessary any more, so drop them and
      simplify the driver's PM callbacks.
      
      Additionally, notice that dw_i2c_plat_complete() only needs to
      schedule runtime PM resume for the device if platform firmware
      has been involved in resuming the system, so make it call
      pm_resume_via_firmware() to check that.  Also make it check the
      runtime PM status of the device instead of its direct_complete
      flag which also works if the device remained suspended due to
      the DPM_FLAG_LEAVE_SUSPENDED driver flag.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: NWolfram Sang <wsa@the-dreams.de>
      Tested-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      02e45646
    • R
      PM: i2c-designware-platdrv: Use DPM_FLAG_SMART_PREPARE · 422cb781
      Rafael J. Wysocki 提交于
      Modify i2c-designware-platdrv to set DPM_FLAG_SMART_PREPARE for its
      devices and return 0 from the system suspend ->prepare callback
      if the device has an ACPI companion object in order to tell the PM
      core and middle layers to avoid skipping system suspend/resume
      callbacks for the device in that case (which may be problematic,
      because the device may be accessed during suspend and resume of
      other devices via I2C operation regions then).
      
      Also the pm_runtime_suspended() check in dw_i2c_plat_prepare()
      is not necessary any more, because the core does it when setting
      power.direct_complete for the device, so drop it.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      Acked-by: NWolfram Sang <wsa@the-dreams.de>
      Tested-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      422cb781
    • R
      PM / mfd: intel-lpss: Use DPM_FLAG_SMART_SUSPEND · 8425ec7f
      Rafael J. Wysocki 提交于
      Make the intel-lpss driver set DPM_FLAG_SMART_SUSPEND for its
      devices which will allow them to stay in runtime suspend during
      system suspend unless they need to be reconfigured for some reason.
      
      Also make it avoid resuming its child devices if they have
      DPM_FLAG_SMART_SUSPEND set to allow them to remain in runtime
      suspend during system suspend.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-for-MFD-by: NLee Jones <lee.jones@linaro.org>
      Tested-by: NJarkko Nikula <jarkko.nikula@linux.intel.com>
      8425ec7f
  3. 09 1月, 2018 4 次提交
    • R
      PCI / PM: Use SMART_SUSPEND and LEAVE_SUSPENDED flags for PCIe ports · 877b3729
      Rafael J. Wysocki 提交于
      Make the PCIe port driver set DPM_FLAG_SMART_SUSPEND and
      DPM_FLAG_LEAVE_SUSPENDED for the devices handled by it to benefit
      from the opportunistic optimizations in the PCI layer enabled by
      these flags.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: NBjorn Helgaas <bhelgaas@google.com>
      877b3729
    • U
      PM / wakeup: Add device_set_wakeup_path() helper to control wakeup path · cf04ce78
      Ulf Hansson 提交于
      During system suspend, a driver may find that the wakeup setting is
      enabled for its device and therefore configures it to deliver system
      wakeup signals.
      
      Additionally, sometimes the driver and its device, relies on some
      further consumed resource, like an irqchip or a phy for example, to
      stay powered on, as to be able to deliver system wakeup signals.
      
      In general the driver deals with this, via raising an "enable count"
      of the consumed resource or via a subsystem specific API, like
      irq_set_irq_wake() or enable|disable_irq_wake() for an irqchip.
      However, this may not be sufficient in cases when the resource's
      device may be attached to a PM domain (genpd for example) or is
      handled by a non-trivial middle layer (PCI for example).
      
      To address cases like these, the existing ->dev.power.wakeup_path
      status flag is there to help.  As a matter of fact, genpd already
      monitors the flag during system suspend and acts accordingly.
      
      However, so far it has not been clear, if anybody else but the PM
      core is allowed to set the ->dev.power.wakeup_path status flag,
      which is required to make this work.  For this reason, introduce
      a new helper function, device_set_wakeup_path() for that.
      
      Typically, a driver that manages a resource needed in the wakeup path
      should call device_set_wakeup_path() from its ->suspend() or
      ->suspend_late() callback.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      cf04ce78
    • U
      PM / core: Assign the wakeup_path status flag in __device_prepare() · 8512220c
      Ulf Hansson 提交于
      The PM core in the device_prepare() phase, resets the wakeup_path status
      flag to the value of device_may_wakeup(). This means if a ->prepare() or a
      ->suspend() callback for the device would update the device's wakeup
      setting, this doesn't become reflected in the wakeup_path status flag.
      
      In general this isn't a problem, because wakeup settings are not supposed
      to be changed (via for example calling device_set_wakeup_enable()) during
      any system wide suspend/resume phase.  Nevertheless there are some users,
      which can be considered as legacy, that don't conform to this behaviour.
      
      These legacy cases should be corrected, however until that is done, let's
      address the issue from the PM core, by moving the assignment of the
      wakeup_path status flag to the __device_suspend() phase and after the
      ->suspend() callback has been invoked.
      Signed-off-by: NUlf Hansson <ulf.hansson@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8512220c
    • R
      PM / wakeup: Do not fail dev_pm_attach_wake_irq() unnecessarily · 7bf4e594
      Rafael J. Wysocki 提交于
      Returning an error code from dev_pm_attach_wake_irq() if
      device_wakeup_attach_irq() called by it returns an error is
      pointless, because the wakeup source used by it may be deleted
      by user space via sysfs at any time and in particular right after
      dev_pm_attach_wake_irq() has returned.  Moreover, it requires
      the callers of dev_pm_attach_wake_irq() to create that wakeup
      source via device_wakeup_enable() upfront, but that obviously is
      racy with respect to the sysfs-based manipulations of it.
      
      To avoid the race, modify device_wakeup_attach_irq() to check
      that the wakeup source it is going to use is there (and return
      early otherwise), make it void (as it cannot fail after that
      change) and make dev_pm_attach_wake_irq() simply call it for
      the device unconditionally.
      Tested-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7bf4e594
  4. 03 1月, 2018 5 次提交
    • R
      PM / core: Direct DPM_FLAG_LEAVE_SUSPENDED handling · 32bfa56a
      Rafael J. Wysocki 提交于
      Make the PM core handle DPM_FLAG_LEAVE_SUSPENDED directly for
      devices whose "noirq", "late" and "early" driver callbacks are
      invoked directly by it.
      
      Namely, make it skip all of the system-wide resume callbacks for
      such devices with DPM_FLAG_LEAVE_SUSPENDED set if they are in
      runtime suspend during the "noirq" phase of system-wide suspend
      (or analogous) transitions or the system transition under way is
      a proper suspend (rather than anything related to hibernation) and
      the device's wakeup settings are compatible with runtime PM (that
      is, the device cannot generate wakeup signals at all or it is
      allowed to wake up the system from sleep).
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      32bfa56a
    • R
      PM / core: Direct DPM_FLAG_SMART_SUSPEND optimization · 75e94645
      Rafael J. Wysocki 提交于
      Make the PM core avoid invoking the "late" and "noirq" system-wide
      suspend (or analogous) callbacks provided by device drivers directly
      for devices with DPM_FLAG_SMART_SUSPEND set that are in runtime
      suspend during the "late" and "noirq" phases of system-wide suspend
      (or analogous) transitions.  That is only done for devices without
      any middle-layer "late" and "noirq" suspend callbacks (to avoid
      confusing the middle layer if there is one).
      
      The underlying observation is that runtime PM is disabled for devices
      during the "late" and "noirq" system-wide suspend phases, so if they
      remain in runtime suspend from the "late" phase forward, it doesn't
      make sense to invoke the "late" and "noirq" callbacks provided by
      the drivers for them (arguably, the device is already suspended and
      in the right state).  Thus, if the remaining driver suspend callbacks
      are to be invoked directly by the core, they can be skipped.
      
      This change really makes it possible for, say, platform device
      drivers to re-use runtime PM suspend and resume callbacks by
      pointing ->suspend_late and ->resume_early, respectively (and
      possibly the analogous hibernation-related callback pointers too),
      to them without adding any extra "is the device already suspended?"
      type of checks to the callback routines, as long as they will be
      invoked directly by the core.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      75e94645
    • R
      PM / core: Add helpers for subsystem callback selection · 4fa3061a
      Rafael J. Wysocki 提交于
      Add helper routines to find and return a suitable subsystem callback
      during the "noirq" phases of system suspend/resume (or analogous)
      transitions as well as during the "late" phase of system suspend and
      the "early" phase of system resume (or analogous) transitions.
      
      The helpers will be called from additional sites going forward.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      Reviewed-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      4fa3061a
    • R
      PM / wakeup: Drop redundant check from device_init_wakeup() · 9dbc64a5
      Rafael J. Wysocki 提交于
      Since device_wakeup_disable() checks the device's power.can_wakeup
      flag, device_init_wakeup() doesn't need to do that before calling it,
      so drop that redundant check from device_init_wakeup().
      
      No intentional changes in functionality.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      9dbc64a5
    • R
      PM / wakeup: Drop redundant check from device_set_wakeup_enable() · d97c2e0d
      Rafael J. Wysocki 提交于
      Since both device_wakeup_enable() and device_wakeup_disable() check
      if dev is not NULL and whether or not power.can_wakeup is set for it,
      device_set_wakeup_enable() doesn't have to do that, so drop that
      check from it.
      
      No intentional changes in functionality.
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      d97c2e0d
  5. 19 12月, 2017 1 次提交
  6. 16 12月, 2017 1 次提交
  7. 13 12月, 2017 2 次提交
  8. 11 12月, 2017 8 次提交
    • R
      PM / sleep: Avoid excess pm_runtime_enable() calls in device_resume() · 3487972d
      Rafael J. Wysocki 提交于
      Middle-layer code doing suspend-time optimizations for devices with
      the DPM_FLAG_SMART_SUSPEND flag set (currently, the PCI bus type and
      the ACPI PM domain) needs to make the core skip ->thaw_early and
      ->thaw callbacks for those devices in some cases and it sets the
      power.direct_complete flag for them for this purpose.
      
      However, it turns out that setting power.direct_complete outside of
      the PM core is a bad idea as it triggers an excess invocation of
      pm_runtime_enable() in device_resume().
      
      For this reason, provide a helper to clear power.is_late_suspended
      and power.is_suspended to be invoked by the middle-layer code in
      question instead of setting power.direct_complete and make that code
      call the new helper.
      
      Fixes: c4b65157 (PCI / PM: Take SMART_SUSPEND driver flag into account)
      Fixes: 05087360 (ACPI / PM: Take SMART_SUSPEND driver flag into account)
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reviewed-by: NUlf Hansson <ulf.hansson@linaro.org>
      Acked-by: NBjorn Helgaas <bhelgaas@google.com>
      3487972d
    • R
      Merge back earlier PM core material for v4.16. · 4f86a21f
      Rafael J. Wysocki 提交于
      4f86a21f
    • L
      Linux 4.15-rc3 · 50c4c4e2
      Linus Torvalds 提交于
      50c4c4e2
    • J
      hpfs: don't bother with the i_version counter or f_version · 98087c05
      Jeff Layton 提交于
      HPFS does not set SB_I_VERSION and does not use the i_version counter
      internally.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NMikulas Patocka <mikulas@twibright.com>
      Reviewed-by: NMikulas Patocka <mikulas@twibright.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      98087c05
    • J
      futex: futex_wake_op, fix sign_extend32 sign bits · d70ef228
      Jiri Slaby 提交于
      sign_extend32 counts the sign bit parameter from 0, not from 1.  So we
      have to use "11" for 12th bit, not "12".
      
      This mistake means we have not allowed negative op and cmp args since
      commit 30d6e0a4 ("futex: Remove duplicated code and fix undefined
      behaviour") till now.
      
      Fixes: 30d6e0a4 ("futex: Remove duplicated code and fix undefined behaviour")
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Darren Hart <dvhart@infradead.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d70ef228
    • L
      Merge tag 'for-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 51090c5d
      Linus Torvalds 提交于
      Pull btrfs fixes from David Sterba:
       "This contains a few fixes (error handling, quota leak, FUA vs
        nobarrier mount option).
      
        There's one one worth mentioning separately - an off-by-one fix that
        leads to overwriting first byte of an adjacent page with 0, out of
        bounds of the memory allocated by an ioctl. This is under a privileged
        part of the ioctl, can be triggerd in some subvolume layouts"
      
      * tag 'for-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: Fix possible off-by-one in btrfs_search_path_in_tree
        Btrfs: disable FUA if mounted with nobarrier
        btrfs: fix missing error return in btrfs_drop_snapshot
        btrfs: handle errors while updating refcounts in update_ref_for_cow
        btrfs: Fix quota reservation leak on preallocated files
      51090c5d
    • L
      Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9c02e060
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
      
       - A revert of all SCPI changes from the 4.15 merge window. They had
         regressions on the Amlogic platforms, and the submaintainer isn't
         around to fix these bugs due to vacation, etc. So we agreed to revert
         and revisit in next release cycle.
      
       - A series fixing a number of bugs for ARM CCN interconnect, around
         module unload, smp_processor_id() in preemptable context, and fixing
         some memory allocation failure checks.
      
       - A handful of devicetree fixes for different platforms, fixing
         warnings and errors that were previously ignored by the compiler.
      
       - The usual set of mostly minor fixes for different platforms.
      
      * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        ARM64: dts: meson-gx: fix UART pclk clock name
        ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds
        arm: dts: nspire: Add missing #phy-cells to usb-nop-xceiv
        ARM: dts: Fix dm814x missing phy-cells property
        ARM: dts: Fix elm interrupt compiler warning
        bus: arm-ccn: fix module unloading Error: Removing state 147 which has instances left.
        bus: arm-cci: Fix use of smp_processor_id() in preemptible context
        bus: arm-ccn: Fix use of smp_processor_id() in preemptible context
        bus: arm-ccn: Simplify code
        bus: arm-ccn: Check memory allocation failure
        bus: arm-ccn: constify attribute_group structures.
        firmware: arm_scpi: Revert updates made during v4.15 merge window
        arm: dts: marvell: Add missing #phy-cells to usb-nop-xceiv
        arm64: dts: sort vendor subdirectories in Makefile alphabetically
        meson-gx-socinfo: Fix package id parsing
        ARM: meson: fix spelling mistake: "Couln't" -> "Couldn't"
        ARM: dts: meson: fix the memory region of the GPIO interrupt controller
        ARM: dts: meson: correct the sort order for the the gpio_intc node
        MAINTAINERS: exclude other Socionext SoC DT files from ARM/UNIPHIER entry
        arm64: dts: uniphier: remove unnecessary interrupt-parent
        ...
      9c02e060
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c465fc11
      Linus Torvalds 提交于
      Pull KVM fixes from Radim Krčmář:
       "ARM:
         - A number of issues in the vgic discovered using SMATCH
         - A bit one-off calculation in out stage base address mask (32-bit
           and 64-bit)
         - Fixes to single-step debugging instructions that trap for other
           reasons such as MMMIO aborts
         - Printing unavailable hyp mode as error
         - Potential spinlock deadlock in the vgic
         - Avoid calling vgic vcpu free more than once
         - Broken bit calculation for big endian systems
      
       s390:
         - SPDX tags
         - Fence storage key accesses from problem state
         - Make sure that irq_state.flags is not used in the future
      
        x86:
         - Intercept port 0x80 accesses to prevent host instability (CVE)
         - Use userspace FPU context for guest FPU (mainly an optimization
           that fixes a double use of kernel FPU)
         - Do not leak one page per module load
         - Flush APIC page address cache from MMU invalidation notifiers"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (28 commits)
        KVM: x86: fix APIC page invalidation
        KVM: s390: Fix skey emulation permission check
        KVM: s390: mark irq_state.flags as non-usable
        KVM: s390: Remove redundant license text
        KVM: s390: add SPDX identifiers to the remaining files
        KVM: VMX: fix page leak in hardware_setup()
        KVM: VMX: remove I/O port 0x80 bypass on Intel hosts
        x86,kvm: remove KVM emulator get_fpu / put_fpu
        x86,kvm: move qemu/guest FPU switching out to vcpu_run
        KVM: arm/arm64: Fix broken GICH_ELRSR big endian conversion
        KVM: arm/arm64: kvm_arch_destroy_vm cleanups
        KVM: arm/arm64: Fix spinlock acquisition in vgic_set_owner
        kvm: arm: don't treat unavailable HYP mode as an error
        KVM: arm/arm64: Avoid attempting to load timer vgic state without a vgic
        kvm: arm64: handle single-step of hyp emulated mmio instructions
        kvm: arm64: handle single-step during SError exceptions
        kvm: arm64: handle single-step of userspace mmio instructions
        kvm: arm64: handle single-stepping trapped instructions
        KVM: arm/arm64: debug: Introduce helper for single-step
        arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one
        ...
      c465fc11
  9. 10 12月, 2017 4 次提交
  10. 09 12月, 2017 9 次提交
    • J
      Merge tag 'keys-fixes-20171208' of... · 4ded3bec
      James Morris 提交于
      Merge tag 'keys-fixes-20171208' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into keys-for-linus
      
      Assorted fixes for keyrings, ASN.1, X.509 and PKCS#7.
      4ded3bec
    • M
      kmemcheck: rip it out for real · f335195a
      Michal Hocko 提交于
      Commit 4675ff05 ("kmemcheck: rip it out") has removed the code but
      for some reason SPDX header stayed in place.  This looks like a rebase
      mistake in the mmotm tree or the merge mistake.  Let's drop those
      leftovers as well.
      Signed-off-by: NMichal Hocko <mhocko@suse.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f335195a
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e9ef1fe3
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) CAN fixes from Martin Kelly (cancel URBs properly in all the CAN usb
          drivers).
      
       2) Revert returning -EEXIST from __dev_alloc_name() as this propagates
          to userspace and broke some apps. From Johannes Berg.
      
       3) Fix conn memory leaks and crashes in TIPC, from Jon Malloc and Cong
          Wang.
      
       4) Gianfar MAC can't do EEE so don't advertise it by default, from
          Claudiu Manoil.
      
       5) Relax strict netlink attribute validation, but emit a warning. From
          David Ahern.
      
       6) Fix regression in checksum offload of thunderx driver, from Florian
          Westphal.
      
       7) Fix UAPI bpf issues on s390, from Hendrik Brueckner.
      
       8) New card support in iwlwifi, from Ihab Zhaika.
      
       9) BBR congestion control bug fixes from Neal Cardwell.
      
      10) Fix port stats in nfp driver, from Pieter Jansen van Vuuren.
      
      11) Fix leaks in qualcomm rmnet, from Subash Abhinov Kasiviswanathan.
      
      12) Fix DMA API handling in sh_eth driver, from Thomas Petazzoni.
      
      13) Fix spurious netpoll warnings in bnxt_en, from Calvin Owens.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits)
        net: mvpp2: fix the RSS table entry offset
        tcp: evaluate packet losses upon RTT change
        tcp: fix off-by-one bug in RACK
        tcp: always evaluate losses in RACK upon undo
        tcp: correctly test congestion state in RACK
        bnxt_en: Fix sources of spurious netpoll warnings
        tcp_bbr: reset long-term bandwidth sampling on loss recovery undo
        tcp_bbr: reset full pipe detection on loss recovery undo
        tcp_bbr: record "full bw reached" decision in new full_bw_reached bit
        sfc: pass valid pointers from efx_enqueue_unwind
        gianfar: Disable EEE autoneg by default
        tcp: invalidate rate samples during SACK reneging
        can: peak/pcie_fd: fix potential bug in restarting tx queue
        can: usb_8dev: cancel urb on -EPIPE and -EPROTO
        can: kvaser_usb: cancel urb on -EPIPE and -EPROTO
        can: esd_usb2: cancel urb on -EPIPE and -EPROTO
        can: ems_usb: cancel urb on -EPIPE and -EPROTO
        can: mcba_usb: cancel urb on -EPROTO
        usbnet: fix alignment for frames with no ethernet header
        tcp: use current time in tcp_rcv_space_adjust()
        ...
      e9ef1fe3
    • L
      Merge tag 'media/v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 77071bc6
      Linus Torvalds 提交于
      Pull media fixes from Mauro Carvalho Chehab:
      
       "A series of fixes for the media subsytem:
      
         - The largest amount of fixes in this series is with regards to
           comments that aren't kernel-doc, but start with "/**".
      
           A new check added for 4.15 makes it to produce a *huge* amount of
           new warnings (I'm compiling here with W=1). Most of the patches in
           this series fix those.
      
           No code changes - just comment changes at the source files
      
         - rc: some fixed in order to better handle RC repetition codes
      
         - v4l-async: use the v4l2_dev from the root notifier when matching
           sub-devices
      
         - v4l2-fwnode: Check subdev count after checking port
      
         - ov 13858 and et8ek8: compilation fix with randconfigs
      
         - usbtv: a trivial new USB ID addition
      
         - dibusb-common: don't do DMA on stack on firmware load
      
         - imx274: Fix error handling, add MAINTAINERS entry
      
         - sir_ir: detect presence of port"
      
      * tag 'media/v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (50 commits)
        media: imx274: Fix error handling, add MAINTAINERS entry
        media: v4l: async: use the v4l2_dev from the root notifier when matching sub-devices
        media: v4l2-fwnode: Check subdev count after checking port
        media: et8ek8: select V4L2_FWNODE
        media: ov13858: Select V4L2_FWNODE
        media: rc: partial revert of "media: rc: per-protocol repeat period"
        media: dvb: i2c transfers over usb cannot be done from stack
        media: dvb-frontends: complete kernel-doc markups
        media: docs: add documentation for frontend attach info
        media: dvb_frontends: fix kernel-doc macros
        media: drivers: remove "/**" from non-kernel-doc comments
        media: lm3560: add a missing kernel-doc parameter
        media: rcar_jpu: fix two kernel-doc markups
        media: vsp1: add a missing kernel-doc parameter
        media: soc_camera: fix a kernel-doc markup
        media: mt2063: fix some kernel-doc warnings
        media: radio-wl1273: fix a parameter name at kernel-doc macro
        media: s3c-camif: add missing description at s3c_camif_find_format()
        media: mtk-vpu: add description for wdt fields at struct mtk_vpu
        media: vdec: fix some kernel-doc warnings
        ...
      77071bc6
    • L
      Merge tag 'drm-fixes-for-v4.15-rc3' of git://people.freedesktop.org/~airlied/linux · 4066aa72
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "This pull is a bit larger than I'd like but a large bunch of it is
        license fixes, AMD wanted to fix the licenses for a bunch of files
        that were missing them,
      
       Otherwise a bunch of TTM regression fix since the hugepage support,
       some i915 and gvt fixes, a core connector free in a safe context fix,
       and one bridge fix"
      
      * tag 'drm-fixes-for-v4.15-rc3' of git://people.freedesktop.org/~airlied/linux: (26 commits)
        drm/bridge: analogix dp: Fix runtime PM state in get_modes() callback
        Revert "drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk"
        drm/vc4: Fix false positive WARN() backtrace on refcount_inc() usage
        drm/i915: Call i915_gem_init_userptr() before taking struct_mutex
        drm/exynos: remove unnecessary function declaration
        drm/exynos: remove unnecessary descrptions
        drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU
        drm/exynos: Fix dma-buf import
        drm/ttm: swap consecutive allocated pooled pages v4
        drm: safely free connectors from connector_iter
        drm/i915/gvt: set max priority for gvt context
        drm/i915/gvt: Don't mark vgpu context as inactive when preempted
        drm/i915/gvt: Limit read hw reg to active vgpu
        drm/i915/gvt: Export intel_gvt_render_mmio_to_ring_id()
        drm/i915/gvt: Emulate PCI expansion ROM base address register
        drm/ttm: swap consecutive allocated cached pages v3
        drm/ttm: roundup the shrink request to prevent skip huge pool
        drm/ttm: add page order support in ttm_pages_put
        drm/ttm: add set_pages_wb for handling page order more than zero
        drm/ttm: add page order in page pool
        ...
      4066aa72
    • L
      Merge tag 'md/4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · 7267212c
      Linus Torvalds 提交于
      Pull md fixes from Shaohua Li:
       "Some MD fixes.
      
        The notable one is a raid5-cache deadlock bug with dm-raid, others are
        not significant"
      
      * tag 'md/4.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md/raid1/10: add missed blk plug
        md: limit mdstat resync progress to max_sectors
        md/r5cache: move mddev_lock() out of r5c_journal_mode_set()
        md/raid5: correct degraded calculation in raid5_error
      7267212c
    • L
      Merge tag 'devicetree-fixes-for-4.15-part2' of... · 78d9b048
      Linus Torvalds 提交于
      Merge tag 'devicetree-fixes-for-4.15-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
      
      Pull DeviceTree fixes from Rob Herring:
       "Another set of DT fixes:
      
         - Fixes from overlay code rework. A trifecta of fixes to the locking,
           an out of bounds access, and a memory leak in of_overlay_apply()
      
         - Clean-up at25 eeprom binding document
      
         - Remove leading '0x' in unit-addresses from binding docs"
      
      * tag 'devicetree-fixes-for-4.15-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: overlay: Make node skipping in init_overlay_changeset() clearer
        of: overlay: Fix out-of-bounds write in init_overlay_changeset()
        of: overlay: Fix (un)locking in of_overlay_apply()
        of: overlay: Fix memory leak in of_overlay_apply() error path
        dt-bindings: eeprom: at25: Document device-specific compatible values
        dt-bindings: eeprom: at25: Grammar s/are can/can/
        dt-bindings: Remove leading 0x from bindings notation
        of: overlay: Remove else after goto
        of: Spelling s/changset/changeset/
        of: unittest: Remove bogus overlay mutex release from overlay_data_add()
      78d9b048
    • L
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 900add27
      Linus Torvalds 提交于
      Pull virtio bugfixes from Michael Tsirkin:
       "A couple of minor bugfixes"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        virtio_net: fix return value check in receive_mergeable()
        virtio_mmio: add cleanup for virtio_mmio_remove
        virtio_mmio: add cleanup for virtio_mmio_probe
      900add27
    • L
      Merge tag 'for-linus-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 32abeb09
      Linus Torvalds 提交于
      Pull xen fixes from Juergen Gross:
       "Just two small fixes for the new pvcalls frontend driver"
      
      * tag 'for-linus-4.15-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/pvcalls: Fix a check in pvcalls_front_remove()
        xen/pvcalls: check for xenbus_read() errors
      32abeb09