Permalink
Commits on Jun 14, 2017
  1. Makefile: release Linux4SAM 5.6

    noglitch committed Jun 14, 2017
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Commits on Jun 13, 2017
  1. Makefile: 5.6-rc6

    noglitch committed Jun 13, 2017
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Commits on Jun 12, 2017
  1. Input: atmel_mxt_ts: add a second try if initialization fails

    ldesroches authored and noglitch committed Apr 30, 2015
    For an unknown reason, the maxtouch can not ack the i2c request when we
    want to communicate. Trying to establish the communication finally works
    after about 200 ms. So when probing the driver if the first time
    initilization fails then wait and try a second time.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
    [nicolas.ferre@microchip.com: change lost while moving to github driver
    re-integrate it here]
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
  2. atmel_mxt_ts.c: move to current github.com/atmel-maxtouch

    noglitch committed Jun 12, 2017
    This is driver from commit ID: 72c03333f35f7eddd707680d8e5de3527b5ef674.
    
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Commits on Jun 9, 2017
  1. Makefile: 5.6-rc4

    noglitch committed Jun 9, 2017
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
  2. Input: atmel_mxt_ts - implement I2C retries

    ndyer authored and noglitch committed Aug 8, 2012
    Some maXTouch chips (eg mXT1386) will not respond on the first I2C request
    when they are in a sleep state. It must be retried after a delay for the
    chip to wake up.
    
    Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
    Acked-by: Yufeng Shen <miletus@chromium.org>
  3. Input: atmel_mxt_ts - only use first T9 instance

    ndyer authored and noglitch committed Apr 11, 2013
    The driver only registers one input device, which uses the screen
    parameters from the first T9 instance. The first T63 instance also uses
    those parameters.
    
    It is incorrect to send input reports from the second instances of these
    objects if they are enabled: the input scaling will be wrong and the
    positions will be mashed together.
    
    This also causes problems on Android if the number of slots exceeds 32.
    
    In the future, this could be handled by looking for enabled touch object
    instances and creating an input device for each one.
    
    Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
    Acked-by: Benson Leung <bleung@chromium.org>
    Acked-by: Yufeng Shen <miletus@chromium.org>
  4. Revert "Revert "[media] Input: atmel_mxt_ts - read touchscreen size""

    noglitch committed Jun 9, 2017
    Revert the revert: so "Input: atmel_mxt_ts - read touchscreen size" was okay.
    
    This reverts commit 22e8674.
  5. ARM: dts: at91: sama5d2_xplained: remove wrong memory node

    baruchsiach authored and noglitch committed May 29, 2017
    The size field of the memory node is wrong. Rely on the default value in
    sama5d2.dtsi that happens to be correct for the SAMA5D2 Xplained board.
    
    Signed-off-by: Baruch Siach <baruch@tkos.co.il>
    Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Commits on Jun 1, 2017
  1. Makefile: 5.6-rc2

    noglitch committed Jun 1, 2017
    Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Commits on May 30, 2017
  1. mmc: sdhci-of-at91: implement specific callback for system pm

    ldesroches committed May 30, 2017
    Instead of using force runtime PM for system PM, implement
    suspend/resume callbacks to allow wakeup on card event.
    
    Warning: first wakeup with SDMMC CD source is not working, it has to be
    done with the wakeup button. This unexpected behavior has to be fixed.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@microchip.com>
  2. mmc: sdhci-of-at91: factorize clocks enable/disable

    ldesroches committed May 30, 2017
    Enabling and disabling all the clocks is done at several places in the
    driver. Add a function to factorize code.
    
    Signed-off-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Commits on May 29, 2017
  1. Merge tag 'v4.9.30' into linux-4.9-at91

    noglitch committed May 29, 2017
    This is the 4.9.30 stable release
Commits on May 25, 2017
  1. Linux 4.9.30

    gregkh committed May 25, 2017
  2. drm/i915/gvt: Disable access to stolen memory as a guest

    ickle authored and gregkh committed Nov 9, 2016
    commit 04a68a3 upstream.
    
    Explicitly disable stolen memory when running as a guest in a virtual
    machine, since the memory is not mediated between clients and reserved
    entirely for the host. The actual size should be reported as zero, but
    like every other quirk we want to tell the user what is happening.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99028
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Zhenyu Wang <zhenyuw@linux.intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Link: http://patchwork.freedesktop.org/patch/msgid/20161109103905.17860-1-chris@chris-wilson.co.uk
    Reviewed-by: Zhenyu Wang <zhenyuw@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  3. drivers: char: mem: Check for address space wraparound with mmap()

    jwerner-chromium authored and gregkh committed May 12, 2017
    commit b299cde upstream.
    
    /dev/mem currently allows mmap() mappings that wrap around the end of
    the physical address space, which should probably be illegal. It
    circumvents the existing STRICT_DEVMEM permission check because the loop
    immediately terminates (as the start address is already higher than the
    end address). On the x86_64 architecture it will then cause a panic
    (from the BUG(start >= end) in arch/x86/mm/pat.c:reserve_memtype()).
    
    This patch adds an explicit check to make sure offset + size will not
    wrap around in the physical address type.
    
    Signed-off-by: Julius Werner <jwerner@chromium.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  4. nfsd: encoders mustn't use unitialized values in error cases

    J. Bruce Fields authored and gregkh committed May 5, 2017
    commit f961e3f upstream.
    
    In error cases, lgp->lg_layout_type may be out of bounds; so we
    shouldn't be using it until after the check of nfserr.
    
    This was seen to crash nfsd threads when the server receives a LAYOUTGET
    request with a large layout type.
    
    GETDEVICEINFO has the same problem.
    
    Reported-by: Ari Kauppi <Ari.Kauppi@synopsys.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  5. nfsd: fix undefined behavior in nfsd4_layout_verify

    Ari Kauppi authored and gregkh committed May 5, 2017
    commit b550a32 upstream.
    
      UBSAN: Undefined behaviour in fs/nfsd/nfs4proc.c:1262:34
      shift exponent 128 is too large for 32-bit type 'int'
    
    Depending on compiler+architecture, this may cause the check for
    layout_type to succeed for overly large values (which seems to be the
    case with amd64). The large value will be later used in de-referencing
    nfsd4_layout_ops for function pointers.
    
    Reported-by: Jani Tuovila <tuovila@synopsys.com>
    Signed-off-by: Ari Kauppi <ari@synopsys.com>
    [colin.king@canonical.com: use LAYOUT_TYPE_MAX instead of 32]
    Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  6. NFS: Use GFP_NOIO for two allocations in writeback

    Benjamin Coddington authored and gregkh committed Apr 19, 2017
    commit ae97aa5 upstream.
    
    Prevent a deadlock that can occur if we wait on allocations
    that try to write back our pages.
    
    Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
    Fixes: 00bfa30 ("NFS: Create a common pgio_alloc and pgio_release...")
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  7. NFS: Fix use after free in write error path

    Fred Isaman authored and gregkh committed Apr 14, 2017
    commit 1f84ccd upstream.
    
    Signed-off-by: Fred Isaman <fred.isaman@gmail.com>
    Fixes: 0bcbf03 ("nfs: handle request add failure properly")
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  8. NFSv4: Fix a hang in OPEN related to server reboot

    trondmypd authored and gregkh committed Apr 15, 2017
    commit 56e0d71 upstream.
    
    If the server fails to return the attributes as part of an OPEN
    reply, and then reboots, we can end up hanging. The reason is that
    the client attempts to send a GETATTR in order to pick up the
    missing OPEN call, but fails to release the slot first, causing
    reboot recovery to deadlock.
    
    Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
    Fixes: 2e80dbe ("NFSv4.1: Close callback races for OPEN, LAYOUTGET...")
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  9. drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2

    kleinerm authored and gregkh committed Apr 21, 2017
    commit e345da8 upstream.
    
    The builtin eDP panel in the HP zBook 17 G2 supports 10 bpc,
    as advertised by the Laptops product specs and verified via
    injecting a fixed edid + photometer measurements, but edid
    reports unknown depth, so drivers fall back to 6 bpc.
    
    Add a quirk to get the full 10 bpc.
    
    Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
    Acked-by: Harry Wentland <harry.wentland@amd.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1492787108-23959-1-git-send-email-mario.kleiner.de@gmail.com
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  10. mtd: nand: add ooblayout for old hamming layout

    lynxis authored and gregkh committed May 2, 2017
    commit 6a623e0 upstream.
    
    The old 1-bit hamming layout requires ECC data to be placed at a
    fixed offset, and not necessarily at the end of the OOB area.
    Add this old layout back in order to fix legacy setups.
    
    Fixes: 41b207a ("mtd: nand: implement the default mtd_ooblayout_ops")
    Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
    Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Signed-off-by: Brian Norris <computersforpeace@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  11. mtd: nand: omap2: Fix partition creation via cmdline mtdparts

    rogerq authored and gregkh committed Mar 30, 2017
    commit 2d283ed upstream.
    
    commit c9711ec ("mtd: nand: omap: Clean up device tree support")
    caused the parent device name to be changed from "omap2-nand.0"
    to "<base address>.nand"  (e.g. 30000000.nand on omap3 platforms).
    This caused mtd->name to be changed as well. This breaks partition
    creation via mtdparts passed by u-boot as it uses "omap2-nand.0"
    for the mtd-id.
    
    Fix this by explicitly setting the mtd->name to "omap2-nand.<CS number>"
    if it isn't already set by nand_set_flash_node(). CS number is the
    NAND controller instance ID.
    
    Fixes: c9711ec ("mtd: nand: omap: Clean up device tree support")
    Reported-by: Leto Enrico <enrico.leto@siemens.com>
    Reported-by: Adam Ford <aford173@gmail.com>
    Suggested-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Tested-by: Adam Ford <aford173@gmail.com>
    Signed-off-by: Roger Quadros <rogerq@ti.com>
    Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  12. mtd: nand: orion: fix clk handling

    gmbnomis authored and gregkh committed Mar 27, 2017
    commit 675b11d upstream.
    
    The clk handling in orion_nand.c had two problems:
    
    - In the probe function, clk_put() was called for an enabled clock,
      which violates the API (see documentation for clk_put() in
      include/linux/clk.h)
    
    - In the error path of the probe function, clk_put() could be called
      twice for the same clock.
    
    In order to clean this up, use the managed function devm_clk_get() and
    store the pointer to the clk in the driver data.
    
    Fixes: baffab2 ('ARM: Orion: fix driver probe error handling with respect to clk')
    Signed-off-by: Simon Baatz <gmbnomis@gmail.com>
    Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  13. PCI: Freeze PME scan before suspending devices

    l1k authored and gregkh committed Apr 18, 2017
    commit ea00353 upstream.
    
    Laurent Pinchart reported that the Renesas R-Car H2 Lager board (r8a7790)
    crashes during suspend tests.  Geert Uytterhoeven managed to reproduce the
    issue on an M2-W Koelsch board (r8a7791):
    
      It occurs when the PME scan runs, once per second.  During PME scan, the
      PCI host bridge (rcar-pci) registers are accessed while its module clock
      has already been disabled, leading to the crash.
    
    One reproducer is to configure s2ram to use "s2idle" instead of "deep"
    suspend:
    
      # echo 0 > /sys/module/printk/parameters/console_suspend
      # echo s2idle > /sys/power/mem_sleep
      # echo mem > /sys/power/state
    
    Another reproducer is to write either "platform" or "processors" to
    /sys/power/pm_test.  It does not (or is less likely) to happen during full
    system suspend ("core" or "none") because system suspend also disables
    timers, and thus the workqueue handling PME scans no longer runs.  Geert
    believes the issue may still happen in the small window between disabling
    module clocks and disabling timers:
    
      # echo 0 > /sys/module/printk/parameters/console_suspend
      # echo platform > /sys/power/pm_test    # Or "processors"
      # echo mem > /sys/power/state
    
    (Make sure CONFIG_PCI_RCAR_GEN2 and CONFIG_USB_OHCI_HCD_PCI are enabled.)
    
    Rafael Wysocki agrees that PME scans should be suspended before the host
    bridge registers become inaccessible.  To that end, queue the task on a
    workqueue that gets frozen before devices suspend.
    
    Rafael notes however that as a result, some wakeup events may be missed if
    they are delivered via PME from a device without working IRQ (which hence
    must be polled) and occur after the workqueue has been frozen.  If that
    turns out to be an issue in practice, it may be possible to solve it by
    calling pci_pme_list_scan() once directly from one of the host bridge's
    pm_ops callbacks.
    
    Stacktrace for posterity:
    
      PM: Syncing filesystems ... [   38.566237] done.
      PM: Preparing system for sleep (mem)
      Freezing user space processes ... [   38.579813] (elapsed 0.001 seconds) done.
      Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
      PM: Suspending system (mem)
      PM: suspend of devices complete after 152.456 msecs
      PM: late suspend of devices complete after 2.809 msecs
      PM: noirq suspend of devices complete after 29.863 msecs
      suspend debug: Waiting for 5 second(s).
      Unhandled fault: asynchronous external abort (0x1211) at 0x00000000
      pgd = c0003000
      [00000000] *pgd=80000040004003, *pmd=00000000
      Internal error: : 1211 [#1] SMP ARM
      Modules linked in:
      CPU: 1 PID: 20 Comm: kworker/1:1 Not tainted
      4.9.0-rc1-koelsch-00011-g68db9bc814362e7f #3383
      Hardware name: Generic R8A7791 (Flattened Device Tree)
      Workqueue: events pci_pme_list_scan
      task: eb56e140 task.stack: eb58e000
      PC is at pci_generic_config_read+0x64/0x6c
      LR is at rcar_pci_cfg_base+0x64/0x84
      pc : [<c041d7b4>]    lr : [<c04309a0>]    psr: 600d0093
      sp : eb58fe98  ip : c041d750  fp : 00000008
      r10: c0e2283c  r9 : 00000000  r8 : 600d0013
      r7 : 00000008  r6 : eb58fed6  r5 : 00000002  r4 : eb58feb4
      r3 : 00000000  r2 : 00000044  r1 : 00000008  r0 : 00000000
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 30c5387d  Table: 6a9f6c80  DAC: 55555555
      Process kworker/1:1 (pid: 20, stack limit = 0xeb58e210)
      Stack: (0xeb58fe98 to 0xeb590000)
      fe80:                                                       00000002 00000044
      fea0: eb6f5800 c041d9b0 eb58feb4 00000008 00000044 00000000 eb78a000 eb78a000
      fec0: 00000044 00000000 eb9aff00 c0424bf0 eb78a000 00000000 eb78a000 c0e22830
      fee0: ea8a6fc0 c0424c5c eaae79c0 c0424ce0 eb55f380 c0e22838 eb9a9800 c0235fbc
      ff00: eb55f380 c0e22838 eb55f380 eb9a9800 eb9a9800 eb58e000 eb9a9824 c0e02100
      ff20: eb55f398 c02366c4 eb56e140 eb5631c0 00000000 eb55f380 c023641c 00000000
      ff40: 00000000 00000000 00000000 c023a928 cd105598 00000000 40506a34 eb55f380
      ff60: 00000000 00000000 dead4ead ffffffff ffffffff eb58ff74 eb58ff74 00000000
      ff80: 00000000 dead4ead ffffffff ffffffff eb58ff90 eb58ff90 eb58ffac eb5631c0
      ffa0: c023a844 00000000 00000000 c0206d68 00000000 00000000 00000000 00000000
      ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 3a81336c 10ccd1dd
      [<c041d7b4>] (pci_generic_config_read) from [<c041d9b0>]
      (pci_bus_read_config_word+0x58/0x80)
      [<c041d9b0>] (pci_bus_read_config_word) from [<c0424bf0>]
      (pci_check_pme_status+0x34/0x78)
      [<c0424bf0>] (pci_check_pme_status) from [<c0424c5c>] (pci_pme_wakeup+0x28/0x54)
      [<c0424c5c>] (pci_pme_wakeup) from [<c0424ce0>] (pci_pme_list_scan+0x58/0xb4)
      [<c0424ce0>] (pci_pme_list_scan) from [<c0235fbc>]
      (process_one_work+0x1bc/0x308)
      [<c0235fbc>] (process_one_work) from [<c02366c4>] (worker_thread+0x2a8/0x3e0)
      [<c02366c4>] (worker_thread) from [<c023a928>] (kthread+0xe4/0xfc)
      [<c023a928>] (kthread) from [<c0206d68>] (ret_from_fork+0x14/0x2c)
      Code: ea000000 e5903000 f57ff04f e3a00000 (e5843000)
      ---[ end trace 667d43ba3aa9e589 ]---
    
    Fixes: df17e62 ("PCI: Add support for polling PME state on suspended legacy PCI devices")
    Reported-and-tested-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
    Reported-and-tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Lukas Wunner <lukas@wunner.de>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
    Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
    Cc: Simon Horman <horms+renesas@verge.net.au>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Matthew Garrett <mjg59@srcf.ucam.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  14. PCI: Only allow WC mmap on prefetchable resources

    dwmw2 authored and gregkh committed Apr 12, 2017
    commit cef4d02 upstream.
    
    The /proc/bus/pci mmap interface allows the user to specify whether they
    want WC or not.  Don't let them do so on non-prefetchable BARs.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  15. PCI: Fix another sanity check bug in /proc/pci mmap

    dwmw2 authored and gregkh committed Apr 12, 2017
    commit 17caf56 upstream.
    
    Don't match MMIO maps with I/O BARs and vice versa.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  16. PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms

    dwmw2 authored and gregkh committed Apr 12, 2017
    commit 6bccc7f upstream.
    
    In the PCI_MMAP_PROCFS case when the address being passed by the user is a
    'user visible' resource address based on the bus window, and not the actual
    contents of the resource, that's what we need to be checking it against.
    
    Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  17. PCI: hv: Specify CPU_AFFINITY_ALL for MSI affinity when >= 32 CPUs

    kattisrinivasan authored and gregkh committed Mar 24, 2017
    commit 433fcf6 upstream.
    
    When we have 32 or more CPUs in the affinity mask, we should use a special
    constant to specify that to the host. Fix this issue.
    
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  18. PCI: hv: Allocate interrupt descriptors with GFP_ATOMIC

    kattisrinivasan authored and gregkh committed Mar 24, 2017
    commit 59c58ce upstream.
    
    The memory allocation here needs to be non-blocking.  Fix the issue.
    
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: Long Li <longli@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>