1. 28 Jul, 2015 7 commits
    • Rafael J. Wysocki's avatar
      cpufreq: Do not update related_cpus on every policy activation · 4d1f3a5b
      Rafael J. Wysocki authored
      The related_cpus mask includes CPUs whose cpufreq_cpu_data per-CPU
      pointers have been set the the given policy.  Since those pointers
      are only set at the policy creation time and unset when the policy
      is deleted, the related_cpus should not be updated between those
      two operations.
      
      For this reason, avoid updating it whenever the first of the
      "related" CPUs goes online.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      4d1f3a5b
    • Rafael J. Wysocki's avatar
      cpufreq: Drop unused dev argument from two functions · d9612a49
      Rafael J. Wysocki authored
      The dev argument of cpufreq_add_policy_cpu() and
      cpufreq_add_dev_interface() is not used by any of them,
      so drop it.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      d9612a49
    • Rafael J. Wysocki's avatar
      cpufreq: Drop unnecessary label from cpufreq_add_dev() · d4d854d6
      Rafael J. Wysocki authored
      The leftover out_release_rwsem label in cpufreq_add_dev() is not
      necessary any more and confusing, so drop it.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      d4d854d6
    • Rafael J. Wysocki's avatar
      cpufreq: Drop cpufreq_policy_restore() · 11ce707e
      Rafael J. Wysocki authored
      Notice that when cpufreq_policy_restore() is called, its per-CPU
      cpufreq_cpu_data variable has been already dereferenced and if that
      variable is not NULL, the policy local pointer in cpufreq_add_dev()
      contains its value.
      
      Therefore it is not necessary to dereference it again and the
      policy pointer can be used directly.  Moreover, if that pointer
      is not NULL, the policy is inactive (or the previous check would
      have made us return from cpufreq_add_dev()) so the restoration
      code from cpufreq_policy_restore() can be moved to that point
      in cpufreq_add_dev().
      
      Do that and drop cpufreq_policy_restore().
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      11ce707e
    • Rafael J. Wysocki's avatar
      cpufreq: Rework two functions related to CPU offline · 15c0b4d2
      Rafael J. Wysocki authored
      Since __cpufreq_remove_dev_prepare() and __cpufreq_remove_dev_finish()
      are about CPU offline rather than about CPU removal, rename them to
      cpufreq_offline_prepare() and cpufreq_offline_finish(), respectively.
      
      Also change their argument from a struct device pointer to a CPU
      number, because they use the CPU number only internally anyway
      and make them void as their return values are ignored.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      15c0b4d2
    • Rafael J. Wysocki's avatar
      c6e53c69
    • Rafael J. Wysocki's avatar
      cpufreq: Avoid attempts to create duplicate symbolic links · 559ed407
      Rafael J. Wysocki authored
      After commit 87549141 (cpufreq: Stop migrating sysfs files on
      hotplug) there is a problem with CPUs that share cpufreq policy
      objects with other CPUs and are initially offline.
      
      Say CPU1 shares a policy with CPU0 which is online and is registered
      first.  As part of the registration process, cpufreq_add_dev() is
      called for it.  It creates the policy object and a symbolic link
      to it from the CPU1's sysfs directory.  If CPU1 is registered
      subsequently and it is offline at that time, cpufreq_add_dev() will
      attempt to create a symbolic link to the policy object for it, but
      that link is present already, so a warning about that will be
      triggered.
      
      To avoid that warning, make cpufreq use an additional CPU mask
      containing related CPUs that are actually present for each policy
      object.  That mask is initialized when the policy object is populated
      after its creation (for the first online CPU using it) and it includes
      CPUs from the "policy CPUs" mask returned by the cpufreq driver's
      ->init() callback that are physically present at that time.  Symbolic
      links to the policy are created only for the CPUs in that mask.
      
      If cpufreq_add_dev() is invoked for an offline CPU, it checks the
      new mask and only creates the symlink if the CPU was not in it (the
      CPU is added to the mask at the same time).
      
      In turn, cpufreq_remove_dev() drops the given CPU from the new mask,
      removes its symlink to the policy object and returns, unless it is
      the CPU owning the policy object.  In that case, the policy object
      is moved to a new CPU's sysfs directory or deleted if the CPU being
      removed was the last user of the policy.
      
      While at it, notice that cpufreq_remove_dev() can't fail, because
      its return value is ignored, so make it ignore return values from
      __cpufreq_remove_dev_prepare() and __cpufreq_remove_dev_finish()
      and prevent these functions from aborting on errors returned by
      __cpufreq_governor().  Also drop the now unused sif argument from
      them.
      
      Fixes: 87549141 (cpufreq: Stop migrating sysfs files on hotplug)
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Reported-and-tested-by: default avatarRussell King <linux@arm.linux.org.uk>
      Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      559ed407
  2. 26 Jul, 2015 10 commits
    • Lukasz Anaczkowski's avatar
      intel_pstate: Add get_scaling cpu_defaults param to Knights Landing · 69cefc27
      Lukasz Anaczkowski authored
      Scaling for Knights Landing is same as the default scaling (100000).
      When Knigts Landing support was added to the pstate driver, this
      parameter was omitted resulting in a kernel panic during boot.
      
      Fixes: b34ef932 (intel_pstate: Knights Landing support)
      Reported-by: default avatarYasuaki Ishimatsu <yishimat@redhat.com>
      Signed-off-by: default avatarDasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com>
      Signed-off-by: default avatarLukasz Anaczkowski <lukasz.anaczkowski@intel.com>
      Acked-by: default avatarKristen Carlson Accardi <kristen@linux.intel.com>
      Cc: 4.1+ <stable@vger.kernel.org> # 4.1+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      69cefc27
    • Linus Torvalds's avatar
      Linux 4.2-rc4 · cbfe8fa6
      Linus Torvalds authored
      cbfe8fa6
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2579d019
      Linus Torvalds authored
      Pull perf fix from Thomas Gleixner:
       "A single fix for the intel cqm perf facility to prevent IPIs from
        interrupt context"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86/intel/cqm: Return cached counter value from IRQ context
      2579d019
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 28003486
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "This update contains:
      
         - the manual revert of the SYSCALL32 changes which caused a
           regression
      
         - a fix for the MPX vma handling
      
         - three fixes for the ioremap 'is ram' checks.
      
         - PAT warning fixes
      
         - a trivial fix for the size calculation of TLB tracepoints
      
         - handle old EFI structures gracefully
      
        This also contains a PAT fix from Jan plus a revert thereof.  Toshi
        explained why the code is correct"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pat: Revert 'Adjust default caching mode translation tables'
        x86/asm/entry/32: Revert 'Do not use R9 in SYSCALL32' commit
        x86/mm: Fix newly introduced printk format warnings
        mm: Fix bugs in region_is_ram()
        x86/mm: Remove region_is_ram() call from ioremap
        x86/mm: Move warning from __ioremap_check_ram() to the call site
        x86/mm/pat, drivers/media/ivtv: Move the PAT warning and replace WARN() with pr_warn()
        x86/mm/pat, drivers/infiniband/ipath: Replace WARN() with pr_warn()
        x86/mm/pat: Adjust default caching mode translation tables
        x86/fpu: Disable dependent CPU features on "noxsave"
        x86/mpx: Do not set ->vm_ops on MPX VMAs
        x86/mm: Add parenthesis for TLB tracepoint size calculation
        efi: Handle memory error structures produced based on old versions of standard
      28003486
    • Thomas Gleixner's avatar
      x86/mm/pat: Revert 'Adjust default caching mode translation tables' · 1a4e8795
      Thomas Gleixner authored
      Toshi explains:
      
      "No, the default values need to be set to the fallback types,
       i.e. minimal supported mode.  For WC and WT, UC is the fallback type.
      
       When PAT is disabled, pat_init() does update the tables below to
       enable WT per the default BIOS setup.  However, when PAT is enabled,
       but CPU has PAT -errata, WT falls back to UC per the default values."
      
      Revert: ca1fec58 'x86/mm/pat: Adjust default caching mode translation tables'
      Requested-by: default avatarToshi Kani <toshi.kani@hp.com>
      Cc: Jan Beulich <jbeulich@suse.de>
      Link: http://lkml.kernel.org/r/1437577776.3214.252.camel@hp.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1a4e8795
    • Matt Fleming's avatar
      perf/x86/intel/cqm: Return cached counter value from IRQ context · 2c534c0d
      Matt Fleming authored
      Peter reported the following potential crash which I was able to
      reproduce with his test program,
      
      [  148.765788] ------------[ cut here ]------------
      [  148.765796] WARNING: CPU: 34 PID: 2840 at kernel/smp.c:417 smp_call_function_many+0xb6/0x260()
      [  148.765797] Modules linked in:
      [  148.765800] CPU: 34 PID: 2840 Comm: perf Not tainted 4.2.0-rc1+ #4
      [  148.765803]  ffffffff81cdc398 ffff88085f105950 ffffffff818bdfd5 0000000000000007
      [  148.765805]  0000000000000000 ffff88085f105990 ffffffff810e413a 0000000000000000
      [  148.765807]  ffffffff82301080 0000000000000022 ffffffff8107f640 ffffffff8107f640
      [  148.765809] Call Trace:
      [  148.765810]  <NMI>  [<ffffffff818bdfd5>] dump_stack+0x45/0x57
      [  148.765818]  [<ffffffff810e413a>] warn_slowpath_common+0x8a/0xc0
      [  148.765822]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765824]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765825]  [<ffffffff810e422a>] warn_slowpath_null+0x1a/0x20
      [  148.765827]  [<ffffffff811613f6>] smp_call_function_many+0xb6/0x260
      [  148.765829]  [<ffffffff8107f640>] ? intel_cqm_stable+0x60/0x60
      [  148.765831]  [<ffffffff81161748>] on_each_cpu_mask+0x28/0x60
      [  148.765832]  [<ffffffff8107f6ef>] intel_cqm_event_count+0x7f/0xe0
      [  148.765836]  [<ffffffff811cdd35>] perf_output_read+0x2a5/0x400
      [  148.765839]  [<ffffffff811d2e5a>] perf_output_sample+0x31a/0x590
      [  148.765840]  [<ffffffff811d333d>] ? perf_prepare_sample+0x26d/0x380
      [  148.765841]  [<ffffffff811d3497>] perf_event_output+0x47/0x60
      [  148.765843]  [<ffffffff811d36c5>] __perf_event_overflow+0x215/0x240
      [  148.765844]  [<ffffffff811d4124>] perf_event_overflow+0x14/0x20
      [  148.765847]  [<ffffffff8107e7f4>] intel_pmu_handle_irq+0x1d4/0x440
      [  148.765849]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765853]  [<ffffffff81219bad>] ? vunmap_page_range+0x19d/0x2f0
      [  148.765854]  [<ffffffff81219d11>] ? unmap_kernel_range_noflush+0x11/0x20
      [  148.765859]  [<ffffffff814ce6fe>] ? ghes_copy_tofrom_phys+0x11e/0x2a0
      [  148.765863]  [<ffffffff8109e5db>] ? native_apic_msr_write+0x2b/0x30
      [  148.765865]  [<ffffffff8109e44d>] ? x2apic_send_IPI_self+0x1d/0x20
      [  148.765869]  [<ffffffff81065135>] ? arch_irq_work_raise+0x35/0x40
      [  148.765872]  [<ffffffff811c8d86>] ? irq_work_queue+0x66/0x80
      [  148.765875]  [<ffffffff81075306>] perf_event_nmi_handler+0x26/0x40
      [  148.765877]  [<ffffffff81063ed9>] nmi_handle+0x79/0x100
      [  148.765879]  [<ffffffff81064422>] default_do_nmi+0x42/0x100
      [  148.765880]  [<ffffffff81064563>] do_nmi+0x83/0xb0
      [  148.765884]  [<ffffffff818c7c0f>] end_repeat_nmi+0x1e/0x2e
      [  148.765886]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765888]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765890]  [<ffffffff811d07a6>] ? __perf_event_task_sched_in+0x36/0xa0
      [  148.765891]  <<EOE>>  [<ffffffff8110ab66>] finish_task_switch+0x156/0x210
      [  148.765898]  [<ffffffff818c1671>] __schedule+0x341/0x920
      [  148.765899]  [<ffffffff818c1c87>] schedule+0x37/0x80
      [  148.765903]  [<ffffffff810ae1af>] ? do_page_fault+0x2f/0x80
      [  148.765905]  [<ffffffff818c1f4a>] schedule_user+0x1a/0x50
      [  148.765907]  [<ffffffff818c666c>] retint_careful+0x14/0x32
      [  148.765908] ---[ end trace e33ff2be78e14901 ]---
      
      The CQM task events are not safe to be called from within interrupt
      context because they require performing an IPI to read the counter value
      on all sockets. And performing IPIs from within IRQ context is a
      "no-no".
      
      Make do with the last read counter value currently event in
      event->count when we're invoked in this context.
      Reported-by: default avatarPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Vikas Shivappa <vikas.shivappa@intel.com>
      Cc: Kanaka Juvva <kanaka.d.juvva@intel.com>
      Cc: Will Auld <will.auld@intel.com>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1437490509-15373-1-git-send-email-matt@codeblueprint.co.ukSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      2c534c0d
    • Linus Torvalds's avatar
      Merge tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 26ae19a3
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here's a few USB and PHY fixes for 4.2-rc4.
      
        Nothing major, the shortlog has the full details.
      
        All of these have been in linux-next successfully"
      
      * tag 'usb-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (21 commits)
        USB: OHCI: fix bad #define in ohci-tmio.c
        cdc-acm: Destroy acm_minors IDR on module exit
        usb-storage: Add ignore-device quirk for gm12u320 based usb mini projectors
        usb-storage: ignore ZTE MF 823 card reader in mode 0x1225
        USB: OHCI: Fix race between ED unlink and URB submission
        usb: core: lpm: set lpm_capable for root hub device
        xhci: do not report PLC when link is in internal resume state
        xhci: prevent bus_suspend if SS port resuming in phase 1
        xhci: report U3 when link is in resume state
        xhci: Calculate old endpoints correctly on device reset
        usb: xhci: Bugfix for NULL pointer deference in xhci_endpoint_init() function
        xhci: Workaround to get D3 working in Intel xHCI
        xhci: call BIOS workaround to enable runtime suspend on Intel Braswell
        usb: dwc3: Reset the transfer resource index on SET_INTERFACE
        usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU
        usb: gadget: mv_udc_core: fix phy_regs I/O memory leak
        usb: ulpi: ulpi_init should be executed in subsys_initcall
        phy: berlin-usb: fix divider for BG2
        phy: berlin-usb: fix divider for BG2CD
        phy/pxa: add HAS_IOMEM dependency
        ...
      26ae19a3
    • Linus Torvalds's avatar
      Merge tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 82b35f37
      Linus Torvalds authored
      Pull tty/serial driver fixes from Greg KH:
       "Here are a number of small serial and tty fixes for reported issues.
      
        All have been in linux-next successfully"
      
      * tag 'tty-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: vt: Fix !TASK_RUNNING diagnostic warning from paste_selection()
        serial: core: Fix crashes while echoing when closing
        m32r: Add ioreadXX/iowriteXX big-endian mmio accessors
        Revert "serial: imx: initialized DMA w/o HW flow enabled"
        sc16is7xx: fix FIFO address of secondary UART
        sc16is7xx: fix Kconfig dependencies
        serial: etraxfs-uart: Fix release etraxfs_uart_ports
        tty/vt: Fix the memory leak in visual_init
        serial: amba-pl011: Fix devm_ioremap_resource return value check
        n_tty: signal and flush atomically
      82b35f37
    • Linus Torvalds's avatar
      Merge tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · b0de415a
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are a number of iio and staging driver fixes for reported issues
        for 4.2-rc4.
      
        All have been in linux-next for a while with no problems"
      
      * tag 'staging-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (34 commits)
        iio:light:stk3310: make endianness independent of host
        iio:light:stk3310: move device register to end of probe
        iio: mma8452: use iio event type IIO_EV_TYPE_MAG
        iio: mcp320x: Fix NULL pointer dereference
        iio: adc: vf610: fix the adc register read fail issue
        iio: mlx96014: Replace offset sign
        iio: magnetometer: mmc35240: fix SET/RESET sequence
        iio: magnetometer: mmc35240: Fix SET/RESET mask
        iio: magnetometer: mmc35240: Fix crash in pm suspend
        iio:magnetometer:bmc150_magn: output intended variable
        iio:magnetometer:bmc150_magn: add regmap dependency
        staging: vt6656: check ieee80211_bss_conf bssid not NULL
        staging: vt6655: check ieee80211_bss_conf bssid not NULL
        iio: tmp006: Check channel info on write
        iio: sx9500: Add missing init in sx9500_buffer_pre{en,dis}able()
        iio:light:ltr501: fix regmap dependency
        iio:light:ltr501: fix variable in ltr501_init
        iio: sx9500: fix bug in compensation code
        iio: sx9500: rework error handling of raw readings
        iio: magnetometer: mmc35240: fix available sampling frequencies
        ...
      b0de415a
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · e433b656
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some char and misc driver fixes for reported issues.
      
        One parport patch is reverted as it was incorrect, thanks to testing
        by the 0-day bot"
      
      * tag 'char-misc-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        parport: Revert "parport: fix memory leak"
        mei: prevent unloading mei hw modules while the device is opened.
        misc: mic: scif bug fix for vmalloc_to_page crash
        parport: fix freeing freed memory
        parport: fix memory leak
        parport: fix error handling
      e433b656
  3. 25 Jul, 2015 7 commits
  4. 24 Jul, 2015 16 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 9fbf075c
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "A couple important fixes.
      
         - A block layer change which removed restriction on max transfer size
           led to silent data corruption on some devices.  A new quirk is
           added to restore the old size limit for the reported device.  If it
           gets reported on more devices, we might have to consider restoring
           the restriction for ATA devices by default.
      
         - There finally is a SSD which is confirmed to cause data corruption
           on TRIM regardless of which flavor is used.  A new quirk is added
           and the device is blacklisted
      
         - Other device-specific workarounds"
      
      * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata: Do not blacklist M510DC
        libata: increase the timeout when setting transfer mode
        libata: add ATA_HORKAGE_MAX_SEC_1024 to revert back to previous max_sectors limit
        libata: force disable trim for SuperSSpeed S238
        libata: add ATA_HORKAGE_NOTRIM
        libata: add ATA_HORKAGE_BROKEN_FPDMA_AA quirk for HP 250GB SATA disk VB0250EAVER
        ata: pmp: add quirk for Marvell 4140 SATA PMP
      9fbf075c
    • Sebastian Andrzej Siewior's avatar
      cpufreq: Remove cpufreq_rwsem · 454d3a25
      Sebastian Andrzej Siewior authored
      cpufreq_rwsem was introduced in commit 6eed9404 ("cpufreq: Use
      rwsem for protecting critical sections) in order to replace
      try_module_get() on the cpu-freq driver. That try_module_get() worked
      well until the refcount was so heavily used that module removal became
      more or less impossible.
      
      Though when looking at the various (undocumented) protection
      mechanisms in that code, the randomly sprinkeled around cpufreq_rwsem
      locking sites are superfluous.
      
      The policy, which is acquired in cpufreq_cpu_get() and released in
      cpufreq_cpu_put() is sufficiently protected already.
      
        cpufreq_cpu_get(cpu)
          /* Protects against concurrent driver removal */
          read_lock_irqsave(&cpufreq_driver_lock, flags);
          policy = per_cpu(cpufreq_cpu_data, cpu);
          kobject_get(&policy->kobj);
          read_unlock_irqrestore(&cpufreq_driver_lock, flags);
      
      The reference on the policy serializes versus module unload already:
      
        cpufreq_unregister_driver()
          subsys_interface_unregister()
            __cpufreq_remove_dev_finish()
              per_cpu(cpufreq_cpu_data) = NULL;
      	cpufreq_policy_put_kobj()
      
      If there is a reference held on the policy, i.e. obtained prior to the
      unregister call, then cpufreq_policy_put_kobj() will wait until that
      reference is dropped. So once subsys_interface_unregister() returns
      there is no policy pointer in flight and no new reference can be
      obtained. So that rwsem protection is useless.
      
      The other usage of cpufreq_rwsem in show()/store() of the sysfs
      interface is redundant as well because sysfs already does the proper
      kobject_get()/put() pairs.
      
      That leaves CPU hotplug versus module removal. The current
      down_write() around the write_lock() in cpufreq_unregister_driver() is
      silly at best as it protects actually nothing.
      
      The trivial solution to this is to prevent hotplug across
      cpufreq_unregister_driver completely.
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      454d3a25
    • Linus Torvalds's avatar
      Merge tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc · 1e63dca7
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "Here are some mmc fixes intended for v4.2 rc4.
      
        Note, most of the changes are for the sdhci-esdhc-imx controller,
        which also required us to modify some related DTS files.  Those
        changes have been acked by the SoC maintainer.
      
        MMC core:
         - Fix a reference inbalance issue for power_ro_lock_show() sysfs handler
      
        MMC host:
         - omap_hsmmc: Fix IRQ errorhandling for CD, DTO, and CRC
         - sdhci: Prevent a kernel panic while using DMA
         - mtk-sd: Let it depend on HAS_DMA to prevent build errors
         - sdhci-esdhc: Make 8BIT bus work
         - sdhci-esdhc-imx: Fix some regressions for DT based platforms
         - sdhci-pxav3: Fix a regression for DT based platforms"
      
      * tag 'mmc-4.2-rc3' of git://git.linaro.org/people/ulf.hansson/mmc:
        mmc: sdhci-pxav3: fix platform_data is not initialized
        dts: mmc: fsl-imx-esdhc: remove fsl,cd-controller support
        mmc: sdhci-esdhc-imx: clear f_max in boarddata
        mmc: sdhci-esdhc-imx: remove duplicated dts parsing
        mmc: sdhci: make max-frequency property in device tree work
        mmc: sdhci-esdhc-imx: move all non dt probe code into one function
        mmc: sdhci-esdhc-imx: fix cd regression for dt platform
        dts: imx7: fix sd card gpio polarity specified in device tree
        dts: imx25: fix sd card gpio polarity specified in device tree
        dts: imx6: fix sd card gpio polarity specified in device tree
        dts: imx53: fix sd card gpio polarity specified in device tree
        dts: imx51: fix sd card gpio polarity specified in device tree
        mmc: sdhci-esdhc: Make 8BIT bus work
        mmc: block: Add missing mmc_blk_put() in power_ro_lock_show()
        mmc: MMC_MTK should depend on HAS_DMA
        mmc: sdhci check parameters before call dma_free_coherent
        mmc: omap_hsmmc: Handle BADA, DEB and CEB interrupts
        mmc: omap_hsmmc: Fix DTO and DCRC handling
      1e63dca7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · a52bd79e
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
       "A fix for the warnings/oops when handling HID devices with "unnamed"
        LEDs and couple of other driver fixups""
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: goodix - fix touch coordinates on WinBook TW100 and TW700
        Input: LEDs - skip unnamed LEDs
        Input: usbtouchscreen - avoid unresponsive TSC-30 touch screen
        Input: elantech - force resolution of 31 u/mm
        Input: zforce - don't overwrite the stack
      a52bd79e
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v4.2-rc3' of... · afdf0b91
      Linus Torvalds authored
      Merge tag 'regulator-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fixes from Mark Brown:
       "As well as some driver specific fixes there's several fixes here for
        the core support for regulators supplying other regulators fixing both
        an issue with ACPI support (which had never been tested before) and
        some error handling and device removal issues that Javier noticed"
      
      * tag 'regulator-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: core: Fix memory leak in regulator_resolve_supply()
        regulator: core: Increase refcount for regulator supply's module
        regulator: core: Handle full constraints systems when resolving supplies
        regulator: 88pm800: fix LDO vsel_mask value
        regulator: max8973: Fix up control flag option for bias control
        regulator: s2mps11: Fix GPIO suspend enable shift wrapping bug
      afdf0b91
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 365c83c3
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A small collection of pretty much unremarkable driver specific fixes
        here plus the addition of a new device ID to spidev which requires no
        other code changes"
      
      * tag 'spi-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: imx: Fix small DMA transfers
        spi: zynq: missing break statement
        spi: SPI_ZYNQMP_GQSPI should depend on HAS_DMA
        spi: spidev: add compatible value for LTC2488
        spi: img-spfi: fix support for speeds up to 1/4th input clock
      365c83c3
    • Linus Torvalds's avatar
      Merge tag 'sound-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 5b7f00a5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This has been a calm week again: one minor lockdep fix for PCM core,
        and the most of the rest are HD-audio quirks and fixups for various
        chips and machines"
      
      * tag 'sound-4.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Add headset mic pin quirk for a Dell device
        ALSA: hda - remove one pin from ALC292_STANDARD_PINS
        ALSA: hda - Add new GPU codec ID 0x10de007d to snd-hda
        ALSA: hda: add new AMD PCI IDs with proper driver caps
        ALSA: hda - Fix Skylake codec timeout
        ALSA: hda - Add headset mic support for Acer Aspire V5-573G
        ALSA: sparc: Add missing kfree in error path
        ALSA: pcm: Fix lockdep warning with nonatomic PCM ops
      5b7f00a5
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 874bf9ee
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - kernel crash fixes for multitouch and wacom drivers, by Brent Adam
         and Dan Carpenter
      
       - cp2112 data packet race condition corruption fix, by Antonio Borneo
      
       - a few new device IDs for wacom and microsoft drivers
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: cp2112: fix to force single data-report reply
        HID: wacom: Enable pad device for older Bamboo Touch tablets
        HID: multitouch: Fix fields from pen report ID being interpreted for multitouch
        HID: microsoft: Add quirk for MS Surface Type/Touch cover
        HID: wacom: NULL dereferences on error in probe()
      874bf9ee
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 077b2053
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Aome amdgpu, one i915, one ttm and one hlcdc, nothing too scary.
      
        All seems fine for about this time"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/ttm: recognize ARM64 arch in ioprot handler
        drm/amdgpu/cz/dpm: properly report UVD and VCE clock levels
        drm/amdgpu/cz: implement voltage validation properly
        drm/amdgpu: add VCE harvesting instance query
        drm/amdgpu: implement VCE 3.0 harvesting support (v4)
        drm/amdgpu/dce10: Re-set VBLANK interrupt state when enabling a CRTC
        drm/amdgpu/dce11: Re-set VBLANK interrupt state when enabling a CRTC
        drm: Stop resetting connector state to unknown
        drm/i915: Use two 32bit reads for select 64bit REG_READ ioctls
        drm: atmel-hlcdc: fix vblank initial state
      077b2053
    • Linus Torvalds's avatar
      Merge branch 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · b4975000
      Linus Torvalds authored
      Pull arch/tile bugfix from Chris Metcalf:
       "This fixes a bug in freeing the initramfs memory"
      
      * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        tile: use free_bootmem_late() for initrd
      b4975000
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · c624406f
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "Everything related to the new quirks and memory type features:
      
         - small improvements to the quirks API
      
         - extending one of the quirks from just AMD to Intel as well, because
           4.2 can show the same problem with problematic firmware on Intel
           too"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: rename quirk constants to KVM_X86_QUIRK_*
        KVM: vmx: obey KVM_QUIRK_CD_NW_CLEARED
        KVM: x86: introduce kvm_check_has_quirk
        KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type
        KVM: MTRR: fix memory type handling if MTRR is completely disabled
      c624406f
    • Steven Rostedt (Red Hat)'s avatar
      ftrace: Fix breakage of set_ftrace_pid · e3eea140
      Steven Rostedt (Red Hat) authored
      Commit 4104d326 ("ftrace: Remove global function list and call function
      directly") simplified the ftrace code by removing the global_ops list with a
      new design. But this cleanup also broke the filtering of PIDs that are added
      to the set_ftrace_pid file.
      
      Add back the proper hooks to have pid filtering working once again.
      
      Cc: stable@vger.kernel.org # 3.16+
      Reported-by: default avatarMatt Fleming <matt@console-pimps.org>
      Reported-by: default avatarRichard Weinberger <richard.weinberger@gmail.com>
      Tested-by: default avatarMatt Fleming <matt@console-pimps.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      e3eea140
    • Bastien Nocera's avatar
      Input: goodix - fix touch coordinates on WinBook TW100 and TW700 · 8b5a359c
      Bastien Nocera authored
      The touchscreen on the WinBook TW100 and TW700 don't match the default
      display, with 0,0 touches being reported when touching at the bottom
      right of the screen.
      
        1280,800             0,800
               +-------------+
               |             |
               |             |
               |             |
               +-------------+
          1280,0             0,0
      
      It's unfortunately impossible to detect this problem with data from the
      DSDT, or other auxiliary metadata, so fallback to quirking this specific
      model of tablet instead.
      Signed-off-by: default avatarBastien Nocera <hadess@hadess.net>
      Reviewed-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      8b5a359c
    • Dmitry Torokhov's avatar
      Input: LEDs - skip unnamed LEDs · b38ebd1d
      Dmitry Torokhov authored
      Devices may declare more LEDs than what is known to input-leds
      (HID does this for some devices). Instead of showing ugly warnings
      on connect and, even worse, oopsing on disconnect, let's simply
      ignore LEDs that are not known to us.
      Reported-and-tested-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
      b38ebd1d
    • Mark Brown's avatar
      Merge remote-tracking branches 'spi/fix/gqspi', 'spi/fix/imx',... · 0c38ec71
      Mark Brown authored
      Merge remote-tracking branches 'spi/fix/gqspi', 'spi/fix/imx', 'spi/fix/mg-spfi' and 'spi/fix/spidev' into spi-linus
      0c38ec71
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/fix/88pm800',... · 4c7d83e8
      Mark Brown authored
      Merge remote-tracking branches 'regulator/fix/88pm800', 'regulator/fix/max8973', 'regulator/fix/s2mps11' and 'regulator/fix/supply' into regulator-linus
      4c7d83e8