commit a82d5fd0c3a5f303b0e5f8fca834a1cce0655070
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Aug 16 13:35:42 2017 -0700

    Linux 3.18.66

commit 8ee7784571d2c28571c129f6f686af6caa46b243
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Thu Jun 29 23:33:35 2017 +0200

    pinctrl: samsung: Remove bogus irq_[un]mask from resource management
    
    commit 3fa53ec2ed885b0aec3f0472e3b4a8a6f1cd748c upstream.
    
    The irq chip callbacks irq_request/release_resources() have absolutely no
    business with masking and unmasking the irq.
    
    The core code unmasks the interrupt after complete setup and masks it
    before invoking irq_release_resources().
    
    The unmask is actually harmful as it happens before the interrupt is
    completely initialized in __setup_irq().
    
    Remove it.
    
    Fixes: f6a8249f9e55 ("pinctrl: exynos: Lock GPIOs as interrupts when used as EINTs")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Krzysztof Kozlowski <krzk@kernel.org>
    Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Kukjin Kim <kgene@kernel.org>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: linux-gpio@vger.kernel.org
    Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 941dc84cf989851fa7a076034d9d45dca2da851d
Author: Icenowy Zheng <icenowy@aosc.io>
Date:   Sat Jul 22 10:50:53 2017 +0800

    pinctrl: sunxi: add a missing function of A10/A20 pinctrl driver
    
    commit d81ece747d8727bb8b1cfc9a20dbe62f09a4e35a upstream.
    
    The PH16 pin has a function with mux id 0x5, which is the DET pin of the
    "sim" (smart card reader) IP block.
    
    This function is missing in old versions of A10/A20 SoCs' datasheets and
    user manuals, so it's also missing in the old drivers. The newest A10
    Datasheet V1.70 and A20 Datasheet V1.41 contain this pin function, and
    it's discovered during implementing R40 pinctrl driver.
    
    Add it to the driver. As we now merged A20 pinctrl driver to the A10
    one, we need to only fix the A10 driver now.
    
    Fixes: f2821b1ca3a2 ("pinctrl: sunxi: Move Allwinner A10 pinctrl
    driver to a driver of its own")
    
    Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
    Reviewed-by: Chen-Yu Tsai <wens@csie.org>
    Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit c3b14bec02738cebce342847e298e4ea8ba345b9
Author: Christoph Hellwig <hch@lst.de>
Date:   Sat Aug 5 10:59:14 2017 +0200

    pnfs/blocklayout: require 64-bit sector_t
    
    commit 8a9d6e964d318533ba3d2901ce153ba317c99a89 upstream.
    
    The blocklayout code does not compile cleanly for a 32-bit sector_t,
    and also has no reliable checks for devices sizes, which makes it
    unsafe to use with a kernel that doesn't support large block devices.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reported-by: Arnd Bergmann <arnd@arndb.de>
    Fixes: 5c83746a0cf2 ("pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing")
    Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit d79c26b3c617985acace15e0ac57ccf1285b0cd9
Author: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
Date:   Thu Jul 6 10:06:41 2017 +0100

    iio: adc: vf610_adc: Fix VALT selection value for REFSEL bits
    
    commit d466d3c1217406b14b834335b5b4b33c0d45bd09 upstream.
    
    In order to select the alternate voltage reference pair (VALTH/VALTL), the
    right value for the REFSEL field in the ADCx_CFG register is "01", leading
    to 0x800 as register mask. See section 8.2.6.4 in the reference manual[1].
    
    [1] http://www.nxp.com/docs/en/reference-manual/VFXXXRM.pdf
    
    Fixes: a775427632fd ("iio:adc:imx: add Freescale Vybrid vf610 adc driver")
    Signed-off-by: Stefan-Gabriel Mirea <stefan-gabriel.mirea@nxp.com>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 666a40f9ab0ac50edf3365d3b31ae9807718bc1c
Author: Sandeep Singh <sandeep.singh@amd.com>
Date:   Fri Aug 4 16:35:56 2017 +0530

    usb:xhci:Add quirk for Certain failing HP keyboard on reset after resume
    
    commit e788787ef4f9c24aafefc480a8da5f92b914e5e6 upstream.
    
    Certain HP keyboards would keep inputting a character automatically which
    is the wake-up key after S3 resume
    
    On some AMD platforms USB host fails to respond (by holding resume-K) to
    USB device (an HP keyboard) resume request within 1ms (TURSM) and ensures
    that resume is signaled for at least 20 ms (TDRSMDN), which is defined in
    USB 2.0 spec. The result is that the keyboard is out of function.
    
    In SNPS USB design, the host responds to the resume request only after
    system gets back to S0 and the host gets to functional after the internal
    HW restore operation that is more than 1 second after the initial resume
    request from the USB device.
    
    As a workaround for specific keyboard ID(HP Keyboards), applying port reset
    after resume when the keyboard is plugged in.
    
    Signed-off-by: Sandeep Singh <Sandeep.Singh@amd.com>
    Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
    cc: Nehal Shah <Nehal-bakulchandra.Shah@amd.com>
    Reviewed-by: Felipe Balbi <felipe.balbi@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 037a0106dd754b832bb8fd1570ce09486c07df11
Author: Kai-Heng Feng <kai.heng.feng@canonical.com>
Date:   Tue Aug 8 17:51:27 2017 +0800

    usb: quirks: Add no-lpm quirk for Moshi USB to Ethernet Adapter
    
    commit 7496cfe5431f21da5d27a8388c326397e3f0a5db upstream.
    
    Moshi USB to Ethernet Adapter internally uses a Genesys Logic hub to
    connect to Realtek r8153.
    
    The Realtek r8153 ethernet does not work on the internal hub, no-lpm quirk
    can make it work.
    
    Since another r8153 dongle at my hand does not have the issue, so add
    the quirk to the Genesys Logic hub instead.
    
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 73a43646298069a3e2622458b63a46915cff7eeb
Author: Alan Stern <stern@rowland.harvard.edu>
Date:   Tue Aug 1 10:41:56 2017 -0400

    USB: Check for dropped connection before switching to full speed
    
    commit 94c43b9897abf4ea366ed4dba027494e080c7050 upstream.
    
    Some buggy USB disk adapters disconnect and reconnect multiple times
    during the enumeration procedure.  This may lead to a device
    connecting at full speed instead of high speed, because when the USB
    stack sees that a device isn't able to enumerate at high speed, it
    tries to hand the connection over to a full-speed companion
    controller.
    
    The logic for doing this is careful to check that the device is still
    connected.  But this check is inadequate if the device disconnects and
    reconnects before the check is done.  The symptom is that a device
    works, but much more slowly than it is capable of operating.
    
    The situation was made worse recently by commit 22547c4cc4fe ("usb:
    hub: Wait for connection to be reestablished after port reset"), which
    increases the delay following a reset before a disconnect is
    recognized, thus giving the device more time to reconnect.
    
    This patch makes the check more robust.  If the device was
    disconnected at any time during enumeration, we will now skip the
    full-speed handover.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Reported-and-tested-by: Zdenek Kabelac <zkabelac@redhat.com>
    Reviewed-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit cbead7ba62fc240ddb0d860d99a51d59476d41f8
Author: Alan Swanson <reiver@improbability.net>
Date:   Wed Jul 26 12:03:33 2017 +0100

    uas: Add US_FL_IGNORE_RESIDUE for Initio Corporation INIC-3069
    
    commit 89f23d51defcb94a5026d4b5da13faf4e1150a6f upstream.
    
    Similar to commit d595259fbb7a ("usb-storage: Add ignore-residue quirk for
    Initio INIC-3619") for INIC-3169 in unusual_devs.h but INIC-3069 already
    present in unusual_uas.h. Both in same controller IC family.
    
    Issue is that MakeMKV fails during key exchange with installed bluray drive
    with following error:
    
    002004:0000 Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED'
    occurred while issuing SCSI command AD010..080002400 to device 'SG:dev_11:0'
    
    Signed-off-by: Alan Swanson <reiver@improbability.net>
    Acked-by: Oliver Neukum <oneukum@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 19d6fff13006fc6964563e395bf959bba77a5e0c
Author: Akinobu Mita <akinobu.mita@gmail.com>
Date:   Wed Jun 21 01:46:37 2017 +0900

    iio: light: tsl2563: use correct event code
    
    commit a3507e48d3f99a93a3056a34a5365f310434570f upstream.
    
    The TSL2563 driver provides three iio channels, two of which are raw ADC
    channels (channel 0 and channel 1) in the device and the remaining one
    is calculated by the two.  The ADC channel 0 only supports programmable
    interrupt with threshold settings and this driver supports the event but
    the generated event code does not contain the corresponding iio channel
    type.
    
    This is going to change userspace ABI.  Hopefully fixing this to be
    what it should always have been won't break any userspace code.
    
    Cc: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Signed-off-by: Jonathan Cameron <jic23@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 40da1ad402699e49a83b2ff4ba24ad5aac93174d
Author: Arnd Bergmann <arnd@arndb.de>
Date:   Fri Jul 14 11:31:03 2017 +0200

    staging:iio:resolver:ad2s1210 fix negative IIO_ANGL_VEL read
    
    commit 105967ad68d2eb1a041bc041f9cf96af2a653b65 upstream.
    
    gcc-7 points out an older regression:
    
    drivers/staging/iio/resolver/ad2s1210.c: In function 'ad2s1210_read_raw':
    drivers/staging/iio/resolver/ad2s1210.c:515:42: error: '<<' in boolean context, did you mean '<' ? [-Werror=int-in-bool-context]
    
    The original code had 'unsigned short' here, but incorrectly got
    converted to 'bool'. This reverts the regression and uses a normal
    type instead.
    
    Fixes: 29148543c521 ("staging:iio:resolver:ad2s1210 minimal chan spec conversion.")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 0e3eac98b84c9492ce289f63e78babe9f46db762
Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Date:   Tue Jul 25 23:58:50 2017 +0200

    USB: hcd: Mark secondary HCD as dead if the primary one died
    
    commit cd5a6a4fdaba150089af2afc220eae0fef74878a upstream.
    
    Make usb_hc_died() clear the HCD_FLAG_RH_RUNNING flag for the shared
    HCD and set HCD_FLAG_DEAD for it, in analogy with what is done for
    the primary one.
    
    Among other thigs, this prevents check_root_hub_suspended() from
    returning -EBUSY for dead HCDs which helps to work around system
    suspend issues in some situations.
    
    This actually fixes occasional suspend failures on one of my test
    machines.
    
    Suggested-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 98b91bfa5e478b9bf332f9f149b1c25ffd58f877
Author: Bin Liu <b-liu@ti.com>
Date:   Tue Jul 25 09:31:34 2017 -0500

    usb: musb: fix tx fifo flush handling again
    
    commit 45d73860530a14c608f410b91c6c341777bfa85d upstream.
    
    commit 68fe05e2a451 ("usb: musb: fix tx fifo flush handling") drops the
    1ms delay trying to solve the long disconnect time issue when
    application queued many tx urbs. However, the 1ms delay is needed for
    some use cases, for example, without the delay, reconnecting AR9271 WIFI
    dongle no longer works if the connection is dropped from the AP.
    
    So let's add back the 1ms delay in musb_h_tx_flush_fifo(), and solve the
    long disconnect time problem with a separate patch for
    usb_hcd_flush_endpoint().
    
    Signed-off-by: Bin Liu <b-liu@ti.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 7af1cd4b40aaa8b90d7f564786339ff0e63e06e8
Author: Stefan Triller <github@stefantriller.de>
Date:   Fri Jun 30 14:44:03 2017 +0200

    USB: serial: cp210x: add support for Qivicon USB ZigBee dongle
    
    commit 9585e340db9f6cc1c0928d82c3a23cc4460f0a3f upstream.
    
    The German Telekom offers a ZigBee USB Stick under the brand name Qivicon
    for their SmartHome Home Base in its 1. Generation. The productId is not
    known by the according kernel module, this patch adds support for it.
    
    Signed-off-by: Stefan Triller <github@stefantriller.de>
    Reviewed-by: Frans Klaver <fransklaver@gmail.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 587184c86954cd73a7576f8afac8b6a6895fc42a
Author: Hector Martin <marcan@marcan.st>
Date:   Wed Aug 2 00:45:06 2017 +0900

    USB: serial: option: add D-Link DWM-222 device ID
    
    commit fd1b8668af59a11bb754a6c9b0051c6c5ce73b74 upstream.
    
    Add device id for D-Link DWM-222.
    
    Signed-off-by: Hector Martin <marcan@marcan.st>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 9bba1b1b9fa1b4c8b95caafa84acb8634bbaddd0
Author: Mateusz Jurczyk <mjurczyk@google.com>
Date:   Wed Jun 7 12:26:49 2017 +0200

    fuse: initialize the flock flag in fuse_file on allocation
    
    commit 68227c03cba84a24faf8a7277d2b1a03c8959c2c upstream.
    
    Before the patch, the flock flag could remain uninitialized for the
    lifespan of the fuse_file allocation. Unless set to true in
    fuse_file_flock(), it would remain in an indeterminate state until read in
    an if statement in fuse_release_common(). This could consequently lead to
    taking an unexpected branch in the code.
    
    The bug was discovered by a runtime instrumentation designed to detect use
    of uninitialized memory in the kernel.
    
    Signed-off-by: Mateusz Jurczyk <mjurczyk@google.com>
    Fixes: 37fb3a30b462 ("fuse: fix flock")
    Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

commit 805348a007645b131d0d5aa7abe00f19dcb351bd
Author: Jonathan Toppins <jtoppins@redhat.com>
Date:   Thu Aug 10 15:23:35 2017 -0700

    mm: ratelimit PFNs busy info message
    
    commit 75dddef32514f7aa58930bde6a1263253bc3d4ba upstream.
    
    The RDMA subsystem can generate several thousand of these messages per
    second eventually leading to a kernel crash.  Ratelimit these messages
    to prevent this crash.
    
    Doug said:
     "I've been carrying a version of this for several kernel versions. I
      don't remember when they started, but we have one (and only one) class
      of machines: Dell PE R730xd, that generate these errors. When it
      happens, without a rate limit, we get rcu timeouts and kernel oopses.
      With the rate limit, we just get a lot of annoying kernel messages but
      the machine continues on, recovers, and eventually the memory
      operations all succeed"
    
    And:
     "> Well... why are all these EBUSY's occurring? It sounds inefficient
      > (at least) but if it is expected, normal and unavoidable then
      > perhaps we should just remove that message altogether?
    
      I don't have an answer to that question. To be honest, I haven't
      looked real hard. We never had this at all, then it started out of the
      blue, but only on our Dell 730xd machines (and it hits all of them),
      but no other classes or brands of machines. And we have our 730xd
      machines loaded up with different brands and models of cards (for
      instance one dedicated to mlx4 hardware, one for qib, one for mlx5, an
      ocrdma/cxgb4 combo, etc), so the fact that it hit all of the machines
      meant it wasn't tied to any particular brand/model of RDMA hardware.
      To me, it always smelled of a hardware oddity specific to maybe the
      CPUs or mainboard chipsets in these machines, so given that I'm not an
      mm expert anyway, I never chased it down.
    
      A few other relevant details: it showed up somewhere around 4.8/4.9 or
      thereabouts. It never happened before, but the prinkt has been there
      since the 3.18 days, so possibly the test to trigger this message was
      changed, or something else in the allocator changed such that the
      situation started happening on these machines?
    
      And, like I said, it is specific to our 730xd machines (but they are
      all identical, so that could mean it's something like their specific
      ram configuration is causing the allocator to hit this on these
      machine but not on other machines in the cluster, I don't want to say
      it's necessarily the model of chipset or CPU, there are other bits of
      identicalness between these machines)"
    
    Link: http://lkml.kernel.org/r/499c0f6cc10d6eb829a67f2a4d75b4228a9b356e.1501695897.git.jtoppins@redhat.com
    Signed-off-by: Jonathan Toppins <jtoppins@redhat.com>
    Reviewed-by: Doug Ledford <dledford@redhat.com>
    Tested-by: Doug Ledford <dledford@redhat.com>
    Cc: Michal Hocko <mhocko@suse.com>
    Cc: Vlastimil Babka <vbabka@suse.cz>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>