1. 20 May, 2016 1 commit
    • Arnd Bergmann's avatar
      Merge tag 'pxa-for-4.7' of https://github.com/rjarzmik/linux into fixes · 4c1d76a1
      Arnd Bergmann authored
      Merge "pxa changes for v4.7 cycle" from Robert Jarzmik:
      
      This is a minor cycle with :
       - cleanup fix from Stephen on clocks (CLK_ROOT deprecated)
       - pin control activation for device-tree platforms
      
      * tag 'pxa-for-4.7' of https://github.com/rjarzmik/linux:
        ARM: pxa: Remove CLK_IS_ROOT
        ARM: pxa: activate pinctrl for device-tree machines
      
      These should have been part of the original pull request but got
      accidentally dropped. Both changes in this branch can be considered
      bugfixes, so I'm putting them in the fixes branch now.
      4c1d76a1
  2. 19 May, 2016 1 commit
    • Arnd Bergmann's avatar
      soc: mtk-pmic-wrap: avoid integer overflow warning · 7f058c0a
      Arnd Bergmann authored
      On ARM64, the mtk-pmic-wrap driver causes a harmless warning:
      
      mtk-pmic-wrap.c:1062:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
      mtk-pmic-wrap.c:1074:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
      mtk-pmic-wrap.c:1086:16: warning: large integer implicitly truncated to unsigned type [-Woverflow]
        .int_en_all = ~(BIT(31) | BIT(1)),
      
      The problem is that the result of the BIT() macro is an 'unsigned long',
      so taking the bitwise NOT operation of that results in an integer
      with the upper 32 bits all set and that cannot be assigned to a
      'u32' variable without loss of information.
      
      This is harmless because we were never interested in the upper bits
      here anyway, so we can shut up the warning by adding a simple cast
      to 'u32'.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      7f058c0a
  3. 18 May, 2016 23 commits
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 4a5219ed
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "Driver updates for ARM SoCs, these contain various things that touch
        the drivers/ directory but got merged through arm-soc for practical
        reasons.
      
        For the most part, this is now related to power management
        controllers, which have not yet been abstracted into a separate
        subsystem, and typically require some code in drivers/soc or arch/arm
        to control the power domains.
      
        Another large chunk here is a rework of the NVIDIA Tegra USB3.0
        support, which was surprisingly tricky and took a long time to get
        done.
      
        Finally, reset controller handling as always gets merged through here
        as well"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits)
        arm-ccn: Enable building as module
        soc/tegra: pmc: Add generic PM domain support
        usb: xhci: tegra: Add Tegra210 support
        usb: xhci: Add NVIDIA Tegra XUSB controller driver
        dt-bindings: usb: xhci-tegra: Add Tegra210 XUSB controller support
        dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding
        PCI: tegra: Support per-lane PHYs
        dt-bindings: pci: tegra: Update for per-lane PHYs
        phy: tegra: Add Tegra210 support
        phy: Add Tegra XUSB pad controller support
        dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support
        dt-bindings: phy: Add NVIDIA Tegra XUSB pad controller binding
        phy: core: Allow children node to be overridden
        clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs
        drivers: firmware: psci: make two helper functions inline
        soc: renesas: rcar-sysc: Add support for R-Car H3 power areas
        soc: renesas: rcar-sysc: Add support for R-Car E2 power areas
        soc: renesas: rcar-sysc: Add support for R-Car M2-N power areas
        soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas
        soc: renesas: rcar-sysc: Add support for R-Car H2 power areas
        ...
      4a5219ed
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9797f6b0
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Arnd Bergmann:
       "As usual, a bunch of commits, mostly adding drivers and other options
        to defconfigs.
      
        We are adding three new defconfig files for the newly added 32-bit
        machines (aspeed and mps2), the rest is mainly housekeeping.
      
        The changes outside of arch/arm/config/ are for a Kconfig symbol that
        got renamed"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (63 commits)
        ARM: aspeed: adapt defconfigs for new CONFIG_PRINTK_TIME
        ARM: u8500_defconfig: update sensor config
        ARM: u8500_defconfig: remove staging from defconfig
        ARM: multi_v7_defconfig: Remove unused Kconfig option MACH_UX500_DT
        ARM: at91/defconfig: sama5: add CONFIG_FHANDLE
        arm/configs: Add Aspeed defconfig
        arm/configs/multi_v5: Add Aspeed ast2400
        ARM: at91: sama5: Update defconfig
        ARM: imx_v6_v7_defconfig: add CONFIG_MICREL_PHY
        ARM: imx_v6_v7_defconfig: add CONFIG_I2C_GPIO
        ARM: multi_v7: Enable Tegra XUSB controller in defconfig
        ARM: tegra: Enable XUSB controller in defconfig
        ARM: omap2plus_defconfig: Enable PWM and ir-rx51 as loadable modules
        ARM: multi_v7_defconfig: add the Atmel sama5d2-compatible ADC driver
        ARM: multi_v7_defconfig: add the Atmel Audio microphone interface PDMIC
        ARM: multi_v7_defconfig: add Atmel ISI (Image Sensor Interface) driver
        ARM: multi_v7_defconfig: add Atmel watchdog timers
        ARM: multi_v7_defconfig: add HLCDC drivers as modules
        ARM: at91/defconfig: add PDMIC driver to sama5_defconfig
        ARM: at91/defconfig: add HLCDC driver to sama5_defconfig
        ...
      9797f6b0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2ec3240f
      Linus Torvalds authored
      Pull ARM 64-bit DT updates from Arnd Bergmann:
       "We continue ramping up platform support for 64-bit ARM machines, with
        111 individual non-merge changesets touching 21 platforms.
      
        The LG1312 platform is completely new and is the first ARM platform by
        LG that we support in the mainline kernel.  Two other SoCs got added
        that are updated versions of existing SoC families, so the port mainly
        consists of new dts files:
      
         - The Hisilicon Hip06/D03 is the latest server platform from
           Huawei/Hisilicon, and follows the Hip05/D02 platform.
      
         - Rockchip RK3399 follows the 32-bit RK3288 that is popular in
           low-end Chromebooks and the 64-bit RK3368 that is mainly found in
           chinese Android TV boxes.
      
        The 96Boards HiKey based on the Hisilicon Hi6220 (Kirin 620) gets a
        long-awaited overhaul with a lot of devices enabled in the DT, so it
        should be much more usable with a mainline kernel now.  See also
      
           https://plus.google.com/111524780435806926688/posts/PeGb2VsNhJd
      
        A lot of work went into enabling new device drivers on existing
        machines, but we also have a couple of new commercially available
        machines:
      
         - Google Pixel C laptop based on Tegra210
         - Hardkernel Odroid C2 Based on Amlogic Meson GXBB (S905)
         - Geekbuying GeekBox based on Rockchip RK3368
      
        And finally, a couple of reference or development platforms that are
        not end-user platforms but are used for trying out the respective SoC
        platforms:
      
         - Amlogic Meson GXBB P200 and P201 development systems
         - NXP Layerscape 1043A QDS development board
         - Hisilicon Hip06 D03 server board, as mentioned above
         - LG1312 Reference Design
         - RK3399 Evaluation Board"
      
      * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (104 commits)
        arm64: dts: marvell: add XOR node for Armada 3700 SoC
        dt-bindings: document rockchip rk3399-evb board
        arm64: dts: rockchip: add dts file for RK3399 evaluation board
        arm64: dts: rockchip: add core dtsi file for RK3399 SoCs
        dt-bindings: rockchip-dw-mshc: add description for rk3399
        arm64: dts: marvell: Use a SoC-specific compatible for xHCI on Armada37xx
        arm64: dts: marvell: Rename armada-37xx USB node
        arm64: dts: marvell: Clean up armada-3720-db
        Documentation: arm64: Add Hisilicon Hip06 D03 dts binding
        arm64: dts: Add initial dts for Hisilicon Hip06 D03 board
        arm64: dts: hip05: Add nor flash support
        arm64: dts: hip05: fix its node without msi-cells
        arm64: dts: r8a7795: Don't disable referenced optional clocks
        arm64: dts: salvator-x: populate EXTALR
        arm64: dts: r8a7795: enable PCIe on Salvator-X
        arm64: dts: r8a7795: Add PCIe nodes
        arm64: tegra: Add IOMMU node to GM20B on Tegra210
        arm64: tegra: Add reference clock to GM20B on Tegra210
        dt-bindings: Add documentation for GM20B GPU
        dt-bindings: gk20a: Document iommus property
        ...
      2ec3240f
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f7df9be0
      Linus Torvalds authored
      Pull ARM DT updates from Arnd Bergmann:
       "These are all the updates to device tree files for 32-bit platforms,
        which as usual makes up the bulk of the ARM SoC changes: 462 non-merge
        changesets, 450 files changed, 23340 insertions, 5216 deletions.
      
        The three platforms that are added with the "soc" branch are here as
        well, and we add some related machine files:
      
         - For Aspeed AST2400/AST2500, we get the evaluation platform and the
           Tyan Palmetto POWER8 mainboard that uses the AST2400 BMC
         - For Oxnas 810SE, the Western Digital "My Book World Edition" is
           added as the only platform at the moment.
         - For ARM MPS2, the AN385 (Cortex-M3) and AN399 (Cortex-M7) are
           supported
      
        On the ARM Realview development platform, we now support all machines
        with device tree, previously only the board files were supported,
        which in turn will likely be removed soon.
      
        Qualcomm IPQ4019 is the second generation ARM based "Internet
        Processor", following the IPQ806x that is used in many high-end WiFi
        routers.  This one integrates two ath10k wifi radios that were
        previously on separate chips.
      
        Other boards that got added for existing chips are:
      
        Ti OMAP family:
           - Amazon Kindle Fire, first generation, tablet and ebook reader
           - OnRISC Baltos iR 2110 and 3220 embedded industrial PCs
           - TI AM5728 IDK, TI AM3359 ICE-V2, and TI DRA722 Rev C EVM
             development systems
      
        Samsung EXYNOS platform:
           - Samsung ARTIK5 evaluation board, see
      
              https://www.artik.io/modules/overview/artik-5/
      
        NXP i.MX platforms:
           - Ka-Ro electronics TX6S-8034, TX6S-8035, TX6U-8033, TX6U-81xx,
             TX6Q-1036, TX6Q-1110/-1130, TXUL-0010 and TXUL-0011 industrial
             SoM modules
           - Embest MarS Board i.MX6Dual DIY platform
           - Boundary Devices i.MX6 Quad Plus Nitrogen6_MAX and SoloX
             Nitrogen6sx embedded boards
           - Technexion Pico i.MX6UL compute module
           - ZII VF610 Development Board
      
        Marvell embedded (mvebu, orion, kirkwood) platforms:
           - Linksys Viper (E4200v2 / EA4500) WiFi router
           - Buffalo Kurobox Pro NAS
      
        Qualcomm Snapdragon:
           - Arrow DragonBoard 600c (96boards) with APQ8064 Snapdragon 600
      
        Rockchips platform:
           - mqmaker MiQi single-board computer
      
        Altera SoCFPGA:
           - samtec VIN|ING 1000 vehicle communication interface
      
        Allwinner Sunxi platforms:
           - Dserve DSRV9703C tablet
           - Difrnce DIT4350 tablet
           - Colorfly E708 Q1 tablet
           - Polaroid MID2809PXE04 tablet
           - Olimex A20 OLinuXino LIME2 single board computer
           - Xunlong Orange Pi 2, Orange Pi One, and Orange Pi PC single board
             computers
      
        Across many platforms, bug fixes went in to address warnings that dtc
        now emits with 'make dtbs W=1'.  Further changes for device enablement
        went into Ti OMAP, bcm283x (Raspberry Pi), bcm47xx (wifi router), Ti
        Davinci, Samsung EXYNOS, Marvell mvebu/kirkwood/orion, NXP i.MX/Vybrid
        NXP LPC18xx, NXP LPC32xx, Renesas shmobile/r-mobile/r-car, Rockchips
        rk3xxx, ST Ux500, ST STi, Atmel AT91/SAMA5, Altera SoCFPGA, Allwinner
        Sunxi, Sigma Designs Tango, NVIDIA Tegra, Socionext Uniphier and ARM
        Versatile Express"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (458 commits)
        ARM: dts: tango4: Import watchdog node
        ARM: dts: tango4: Update cpus node for cpufreq
        ARM: dts: tango4: Update DT to match clk driver
        ARM: dts: tango4: Initial thermal support
        arm/dst: Add Aspeed ast2500 device tree
        arm/dts: Add Aspeed ast2400 device tree
        ARM: sun7i: dt: Add pll3 and pll7 clocks
        ARM: dts: sunxi: Add a olinuxino-lime2-emmc
        ARM: dts: at91: sama5d4: add trng node
        ARM: dts: at91: sama5d3: add trng node
        ARM: dts: at91: sama5d2: add trng node
        ARM: dts: at91: at91sam9g45 family: reduce the trng register map size
        ARM: sun4i: dt: Add pll3 and pll7 clocks
        ARM: sun5i: chip: Enable the TV Encoder
        ARM: sun5i: r8: Add display blocks to the DTSI
        ARM: sun5i: a13: Add display and TCON clocks
        ARM: dts: ux500: configure the accelerometers open drain
        ARM: mx5: dts: Enable USB OTG on M53EVK
        ARM: dts: imx6ul-14x14-evk: Add audio support
        ARM: dts: imx6qdl: Remove unneeded unit-addresses
        ...
      f7df9be0
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9f8f2022
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Arnd Bergmann:
       "One new platform gets added this time: The Cortex-A53 based LG
        Electronics LG1K platform used in digital TVs.
      
        The other changes are mostly smaller updates to the defconfig files,
        to enable additional platform specific drivers, as they get merged
        through the subsystem trees"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: configs: add options useful for Armada 7K/8K support
        arm64: defconfig: Add Juno SATA controller
        arm64: defconfig: enable freescale/nxp config options
        arm64: defconfig: enable 48-bit virtual addresses
        arm64: defconfig: cleanup the defconfig
        MAINTAINERS: update entry for Marvell ARM platform maintainers
        arm64: marvell: enable AP806 and CP110 syscon driver
        arm64: Kconfig: select sp804 timer for ARCH_HISI
        arm64: defconfig: enable configs for WLAN and TI WL1835 as modules
        arm64: defconfig: enable several common USB network adapters
        arm64: defconfig: add CONFIG_SPI_SPIDEV as module
        arm64: defconfig: Enable the PMIC and regulator for Hi6220 and 96boards HiKey
        arm64: defconfig: Add Renesas R-Car USB 3.0 driver support
        MAINTAINERS: add Chanho Min as ARM/LG1K maintainer
        arm64: defconfig: enable ARCH_LG1K
        arm64: add Kconfig entry for LG1K SoC family
        arm64: defconfig: Enable PL330 DMA controller
        arm64: defconfig: enable basic boot for Amlogic meson
      9f8f2022
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9896c7b5
      Linus Torvalds authored
      Pull ARM SoC platform updates from Arnd Bergmann:
       "We get support for three new 32-bit SoC platforms this time.
      
        The amount of changes in arch/arm for any of them is miniscule, as all
        the interesting code is in device driver subsystems (irqchip, clk,
        pinctrl, ...) these days.  I'm listing them here, as the addition of
        the Kconfig statement is the main relevant milestone for a new
        platform.  In each case, some drivers are are shared with existing
        platforms, while other drivers are added for v4.7 as well, or come in
        a later release.
      
         - The Aspeed platform is probably the most interesting one, this is
           what most whitebox servers use as their baseboard management
           controller.  We get support for the very common ast2400 and ast2500
           SoCs.  The OpenBMC project focuses on this chip, and the LWN
           article about their ELC 2016 presentation at
      
              https://lwn.net/Articles/683320/
      
           triggered the submission, but the code comes from IBM's OpenPOWER
           team rather than the team at Facebook.  There are still a lot more
           drivers that need to get added over time, and I hope both teams can
           work together on that.
      
         - OXNAS is an old platform for Network Attached Storage devices from
           Oxford Semiconductor.  There are models with ARM10 (!) and
           ARM11MPCore cores, but for now, we only support the original ARM9
           based versions.  The product lineup was subsequently part of PLX,
           Avago and now the new Broadcom Ltd.
      
              https://wiki.openwrt.org/doc/hardware/soc/soc.oxnas
      
           has some more information.
      
         - V2M-MPS2 is a prototyping platform from ARM for their Cortex-M
           cores and is related to the existing Realview / Versatile Express
           lineup, but without MMU.
      
           We now support various NOMMU platforms, so adding a new one is
           fairly straightforward.
      
              http://infocenter.arm.com/help/topic/com.arm.doc.100112_0100_03_en/
      
           has detailed information about the platform.
      
        Other noteworthy updates:
      
         - Work on LPC32xx has resumed, and Vladimir Zapolskiy and Sylvain
           Lemieux are now maintaining the platform.
      
           This is an older ARM9 based platform from NXP (not Freescale), but
           it remains in use in embedded markets.
      
         - Kevin Hilman is now co-maintaining the Amlogic Meson platform for
           both 32-bit and 64-bit ARM, and started contributing some patches.
      
         - As is often the case, work on the OMAP platforms makes up the bulk
           of the actual SoC code changes in arch/arm, but there isn't a lot
           of that either"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits)
        MAINTAINERS: ARM/Amlogic: add co-maintainer, misc. updates
        MAINTAINERS: add ARM/NXP LPC32XX SoC specific drivers to the section
        MAINTAINERS: add new maintainers of NXP LPC32xx SoC
        MAINTAINERS: move ARM/NXP LPC32xx record to ARM section
        arm: Add Aspeed machine
        ARM: lpc32xx: remove duplicate const on lpc32xx_auxdata_lookup
        ARM: lpc32xx: remove leftovers of legacy clock source and provider drivers
        ARM: lpc32xx: remove reboot header file
        ARM: dove: Remove CLK_IS_ROOT
        ARM: orion5x: Remove CLK_IS_ROOT
        ARM: mv78xx0: Remove CLK_IS_ROOT
        ARM: davinci: da850: use clk->set_parent for async3
        ARM: davinci: Move clock init after ioremap.
        MAINTAINERS: Update ARM Versatile Express platform entry
        ARM: vexpress/mps2: introduce MPS2 platform
        MAINTAINERS: add maintainer entry for ARM/OXNAS platform
        ARM: Add new mach-oxnas
        irqchip: versatile-fpga: add new compatible for OX810SE SoC
        ARM: uniphier: correct the call order of of_node_put()
        MAINTAINERS: fix stale TI DaVinci entries
        ...
      9896c7b5
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanups-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · f2b1e0f6
      Linus Torvalds authored
      Pull ARM SoC cleanups and fixes from Arnd Bergmann:
       "Traditionally we've had two separate branches for cleanups and
        non-critical bug fixes, but both of these got smaller with each
        release and the differences are rather unclear now, so it seems more
        appropriate to have a combined branch.
      
        The most notable change is for OMAP, which gets a small rework to
        simplify handling of the AUXDATA mechanism used on machines that are
        not completely DT based yet, along with other work that is used as
        preparation for dropping the legacy board files"
      
      * tag 'armsoc-cleanups-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: exynos: Add interrupt line to MAX8997 PMIC on exynos4210-trats
        ARM: dts: exynos: Fix regulator name to avoid forbidden character on exynos4210-trats
        ARM: dts: exynos: Add MFC memory banks for Peach boards
        ARM: OMAP2+: n900 needs MMC slot names for legacy user space
        ARM: OMAP2+: Add more functions to pwm pdata for ir-rx51
        ARM: debug: remove extraneous DEBUG_HI3716_UART option
        ARM: OMAP2+: Simplify auxdata by using the generic match
        of/platform: Allow secondary compatible match in of_dev_lookup
        ARM: davinci: use IRQCHIP_DECLARE for cp_intc
        ARM: davinci: remove unused DA8XX_NUM_UARTS
        ARM: davinci: simplify call to of populate
        ARM: DaVinci USB: removed deprecated properties from MUSB config
        ARM: rockchip: Fix use of plain integer as NULL pointer
        ARM: realview: hide unused 'pmu_device' object
        soc: versatile: dynamically detect RealView HBI numbers
      f2b1e0f6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · f61a657f
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "The s390 patches for the 4.7 merge window have the usual bug fixes and
        cleanups, and the following new features:
      
         - An interface for dasd driver to query if a volume is online to
           another operating system
      
         - A new ioctl for the dasd driver to verify the format for a range of
           tracks
      
         - Following the example of x86 the struct fpu is now allocated with
           the task_struct
      
         - The 'report_error' interface for the PCI bus to send an
           adapter-error notification from user space to the service element
           of the machine"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (29 commits)
        s390/vmem: remove unused function parameter
        s390/vmem: fix identity mapping
        s390: add missing include statements
        s390: add missing declarations
        s390: make couple of variables and functions static
        s390/cache: remove superfluous locking
        s390/cpuinfo: simplify locking and skip offline cpus early
        s390/3270: hangup the 3270 tty after a disconnect
        s390/3270: handle reconnect of a tty with a different size
        s390/3270: avoid endless I/O loop with disconnected 3270 terminals
        s390/3270: fix garbled output on 3270 tty view
        s390/3270: fix view reference counting
        s390/3270: add missing tty_kref_put
        s390/dumpstack: implement and use return_address()
        s390/cpum_sf: Remove superfluous SMP function call
        s390/cpum_cf: Remove superfluous SMP function call
        s390/Kconfig: make z196 the default processor type
        s390/sclp: avoid compile warning in sclp_pci_report
        s390/fpu: allocate 'struct fpu' with the task_struct
        s390/crypto: cleanup and move the header with the cpacf definitions
        ...
      f61a657f
    • Linus Torvalds's avatar
      iwlwifi: fix mis-merge that breaks the driver · 0e034f5c
      Linus Torvalds authored
      My laptop that uses the intel 7680 iwlwifi module would no longer
      connects to the network.  It would fail with a "Microcode SW error
      detected." and spew out register state over and over again without ever
      connecting to the network.
      
      The cause is mis-merge in commit 909b27f7, where David seems to have
      lost some of the changes to iwl_mvm_set_tx_cmd() from commit
      5c08b0f5 ("iwlwifi: mvm: don't override the rate with the AMSDU
      len").
      
      The reason seems to be a conflict with commit d8fe4844 ("iwlwifi:
      mvm: add support for new TX CMD API"), which touched a line adjacent to
      the changes in 909b27f7.
      
      David missed the fact that "info->driver_data[0]" had become
      "skb_info->driver_data[0]".  Then he removed the skb_info because it was
      unused.
      
      This just re-updates iwl_mvm_set_tx_cmd() with the lost two lines.
      Reported-and-tested-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Reported-by: default avatarReinoud Koornstra <reinoudkoornstra@gmail.com>
      Cc: Luciano Coelho <luciano.coelho@intel.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: David Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0e034f5c
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9e17632c
      Linus Torvalds authored
      Pull misc vfs cleanups from Al Viro:
       "Assorted cleanups and fixes all over the place"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        coredump: only charge written data against RLIMIT_CORE
        coredump: get rid of coredump_params->written
        ecryptfs_lookup(): try either only encrypted or plaintext name
        ecryptfs: avoid multiple aliases for directories
        bpf: reject invalid names right in ->lookup()
        __d_alloc(): treat NULL name as QSTR("/", 1)
        mtd: switch ubi_open_volume_path() to vfs_stat()
        mtd: switch open_mtd_by_chdev() to use of vfs_stat()
      9e17632c
    • Linus Torvalds's avatar
      Merge branch 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 69370471
      Linus Torvalds authored
      Pull iov_iter cleanups from Al Viro.
      
      * 'work.iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fold checks into iterate_and_advance()
        rw_verify_area(): saner calling conventions
        aio: remove a pointless assignment
      69370471
    • Linus Torvalds's avatar
      Merge branch 'work.lookups' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e34df334
      Linus Torvalds authored
      Pull parallel lookup fixups from Al Viro:
       "Fix for xfs parallel readdir (turns out the cxfs exposure was not
        enough to catch all problems), and a reversion of btrfs back to
        ->iterate() until the fs/btrfs/delayed-inode.c gets fixed"
      
      * 'work.lookups' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        xfs: concurrent readdir hangs on data buffer locks
        Revert "btrfs: switch to ->iterate_shared()"
      e34df334
    • Dave Chinner's avatar
      xfs: concurrent readdir hangs on data buffer locks · 9f541801
      Dave Chinner authored
      There's a three-process deadlock involving shared/exclusive barriers
      and inverted lock orders in the directory readdir implementation.
      It's a pre-existing problem with lock ordering, exposed by the
      VFS parallelisation code.
      
      process 1               process 2               process 3
      ---------               ---------               ---------
      readdir
      iolock(shared)
        get_leaf_dents
          iterate entries
             ilock(shared)
             map, lock and read buffer
             iunlock(shared)
             process entries in buffer
             .....
                                                      readdir
                                                      iolock(shared)
                                                        get_leaf_dents
                                                          iterate entries
                                                            ilock(shared)
                                                            map, lock buffer
                                                            <blocks>
                              finish ->iterate_shared
                              file_accessed()
                                ->update_time
                                  start transaction
                                  ilock(excl)
                                  <blocks>
              .....
              finishes processing buffer
              get next buffer
                ilock(shared)
                <blocks>
      
      And that's the deadlock.
      
      Fix this by dropping the current buffer lock in process 1 before
      trying to map the next buffer. This means we keep the lock order of
      ilock -> buffer lock intact and hence will allow process 3 to make
      progress and drop it's ilock(shared) once it is done.
      Reported-by: default avatarXiong Zhou <xzhou@redhat.com>
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9f541801
    • Al Viro's avatar
      Revert "btrfs: switch to ->iterate_shared()" · fe742fd4
      Al Viro authored
      This reverts commit 972b241f.
      Quoth Chris:
      	didn't take the delayed inode stuff into account
      	it got an rbtree of items and it pulls things out
      	so in shared mode, its hugely racey
      	sorry, lets revert and fix it for real inside of btrfs
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      fe742fd4
    • Linus Torvalds's avatar
      Merge branch 'sendmsg.cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 442c9ac9
      Linus Torvalds authored
      Pull cifs iovec cleanups from Al Viro.
      
      * 'sendmsg.cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        cifs: don't bother with kmap on read_pages side
        cifs_readv_receive: use cifs_read_from_socket()
        cifs: no need to wank with copying and advancing iovec on recvmsg side either
        cifs: quit playing games with draining iovecs
        cifs: merge the hash calculation helpers
      442c9ac9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ba5a2655
      Linus Torvalds authored
      Pull remaining vfs xattr work from Al Viro:
       "The rest of work.xattr (non-cifs conversions)"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        btrfs: Switch to generic xattr handlers
        ubifs: Switch to generic xattr handlers
        jfs: Switch to generic xattr handlers
        jfs: Clean up xattr name mapping
        gfs2: Switch to generic xattr handlers
        ceph: kill __ceph_removexattr()
        ceph: Switch to generic xattr handlers
        ceph: Get rid of d_find_alias in ceph_set_acl
      ba5a2655
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 8908c94d
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Various small CIFS and SMB3 fixes (including some for stable)"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        remove directory incorrectly tries to set delete on close on non-empty directories
        Update cifs.ko version to 2.09
        fs/cifs: correctly to anonymous authentication for the NTLM(v2) authentication
        fs/cifs: correctly to anonymous authentication for the NTLM(v1) authentication
        fs/cifs: correctly to anonymous authentication for the LANMAN authentication
        fs/cifs: correctly to anonymous authentication via NTLMSSP
        cifs: remove any preceding delimiter from prefix_path
        cifs: Use file_dentry()
      8908c94d
    • Linus Torvalds's avatar
      Merge branch 'for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 0b7962a6
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       "Trivial changes except for special case timeout bumping.
      
        I have two more libata branches which depend on SCSI and dmaengine
        tree respectively.  I'll send pull requests for them once the
        prerequisite trees are pulled in"
      
      * 'for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata-scsi: use %*ph to dump small buffers
        treewide: Fix typos in libata.xml
        libata-core: Allow longer timeout for drive spinup from PUIS
        libata: Fixup awkward whitespace in warning by removing line continuation.
      0b7962a6
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-can-change-voltage' of... · 6f88b5be
      Linus Torvalds authored
      Merge tag 'regulator-fix-can-change-voltage' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fix from Mark Brown:
       "Fix build warnings from regulator_can_change_voltage()
      
        Cut down on noise for mainstream users of the API and people
        doing build testing by dropping the deprecated flag from
        regulator_can_change_voltage() as it triggers even on the
        EXPORT_SYMBOL_GPL() which affects all builds rather than just
        the remaining drivers with calls to it (for which fixes are
        currently pending).
      
        The function remains deprecated and is expected to be removed
        entirely in v4.8"
      
      * tag 'regulator-fix-can-change-voltage' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: Silence build warnings from regulator_can_change_voltage()
      6f88b5be
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1eccc6e1
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for kernel cycle v4.7:
      
        Core infrastructural changes:
      
         - Support for natively single-ended GPIO driver stages.
      
           This means that if the hardware has registers to configure open
           drain or open source configuration, we use that rather than (as we
           did before) try to emulate it by switching the line to an input to
           get high impedance.
      
           This is also documented throughly in Documentation/gpio/driver.txt
           for those of you who did not understand one word of what I just
           wrote.
      
         - Start to do away with the unnecessarily complex and unitelligible
           ARCH_REQUIRE_GPIOLIB and ARCH_WANT_OPTIONAL_GPIOLIB, another
           evolutional artifact from the time when the GPIO subsystem was
           unmaintained.
      
           Archs can now just select GPIOLIB and be done with it, cleanups to
           arches will trickle in for the next kernel.  Some minor archs ACKed
           the changes immediately so these are included in this pull request.
      
         - Advancing the use of the data pointer inside the GPIO device for
           storing driver data by switching the PowerPC, Super-H Unicore and
           a few other subarches or subsystem drivers in ALSA SoC, Input,
           serial, SSB, staging etc to use it.
      
         - The initialization now reads the input/output state of the GPIO
           lines, so that each GPIO descriptor knows - if this callback is
           implemented - whether the line is input or output.  This also
           reflects nicely in userspace "lsgpio".
      
         - It is now possible to name GPIO producer names, line names, from
           the device tree.  (Platform data has been supported for a while).
           I bet we will get a similar mechanism for ACPI one of those days.
           This makes is possible to get sensible producer names for e.g.
           GPIO rails in "lsgpio" in userspace.
      
        New drivers:
      
         - New driver for the Loongson1.
      
         - The XLP driver now supports Broadcom Vulcan ARM64.
      
         - The IT87 driver now supports IT8620 and IT8628.
      
         - The PCA953X driver now supports Galileo Gen2.
      
        Driver improvements:
      
         - MCP23S08 was switched to use the gpiolib irqchip helpers and now
           also suppors level-triggered interrupts.
      
         - 74x164 and RCAR now supports the .set_multiple() callback
      
         - AMDPT was converted to use generic GPIO.
      
         - TC3589x, TPS65218, SX150X, F7188X, MENZ127, VX855, WM831X, WM8994
           support the new single ended callback for open drain and in some
           cases open source.
      
         - Implement the .get_direction() callback for a few more drivers like
           PL061, Xgene.
      
        Cleanups:
      
         - Paul Gortmaker combed through the drivers and de-modularized those
           who are not really modules.
      
         - Move the GPIO poweroff DT bindings to the power subdir where they
           belong.
      
         - Rename gpio-generic.c to gpio-mmio.c, which is much more to the
           point.  That's what it is handling, nothing more, nothing less"
      
      * tag 'gpio-v4.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (126 commits)
        MIPS: do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
        gpio: zevio: make it explicitly non-modular
        gpio: timberdale: make it explicitly non-modular
        gpio: stmpe: make it explicitly non-modular
        gpio: sodaville: make it explicitly non-modular
        pinctrl: sh-pfc: Let gpio_chip.to_irq() return zero on error
        gpio: dwapb: Add ACPI device ID for DWAPB GPIO controller on X-Gene platforms
        gpio: dt-bindings: add wd,mbl-gpio bindings
        gpio: of: make it possible to name GPIO lines
        gpio: make gpiod_to_irq() return negative for NO_IRQ
        gpio: xgene: implement .get_direction()
        gpio: xgene: Enable ACPI support for X-Gene GFC GPIO driver
        gpio: tegra: Implement gpio_get_direction callback
        gpio: set up initial state from .get_direction()
        gpio: rename gpio-generic.c into gpio-mmio.c
        gpio: generic: fix GPIO_GENERIC_PLATFORM is set to module case
        gpio: dwapb: add gpio-signaled acpi event support
        gpio: dwapb: convert device node to fwnode
        gpio: dwapb: remove name from dwapb_port_property
        gpio/qoriq: select IRQ_DOMAIN
        ...
      1eccc6e1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · dcc4c2f6
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
       "No biggies this time:
      
         - micro-optimization of implement() in HID core parses, from Dmitry
           Torokhov
      
         - thingm driver cleanups from Heiner Kallweit
      
         - fine-graining detection of distance and tilt axes in wacom driver
           from Jason Gerecke
      
         - New hid-asus driver, currently supporting X205TA and VivoBook
           E200HA, from Yusuke Fujimaki"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: wacom: Add fuzz factor to distance and tilt axes
        HID: usbhid: quirks for Corsair RGB keyboard & mice (K70R, K95RGB, M65RGB, K70RGB, K65RGB)
        HID: thingm: remove not needed error message
        HID: thingm: set new flag LED_HW_PLUGGABLE
        HID: thingm: factor out duplicated code to thingm_init_led
        HID: simplify implement() a bit
        HID: asus: add support for VivoBook E200HA
        HID: hidraw: silence an uninitialized variable warning
        HID: roccat: silence an uninitialized variable warning
        HID: Asus X205TA keyboard driver
        HID: hidraw: switch to using memdup_user
      dcc4c2f6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching · 0b86c75d
      Linus Torvalds authored
      Pull livepatching updates from Jiri Kosina:
      
       - remove of our own implementation of architecture-specific relocation
         code and leveraging existing code in the module loader to perform
         arch-dependent work, from Jessica Yu.
      
         The relevant patches have been acked by Rusty (for module.c) and
         Heiko (for s390).
      
       - live patching support for ppc64le, which is a joint work of Michael
         Ellerman and Torsten Duwe.  This is coming from topic branch that is
         share between livepatching.git and ppc tree.
      
       - addition of livepatching documentation from Petr Mladek
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching:
        livepatch: make object/func-walking helpers more robust
        livepatch: Add some basic livepatch documentation
        powerpc/livepatch: Add live patching support on ppc64le
        powerpc/livepatch: Add livepatch stack to struct thread_info
        powerpc/livepatch: Add livepatch header
        livepatch: Allow architectures to specify an alternate ftrace location
        ftrace: Make ftrace_location_range() global
        livepatch: robustify klp_register_patch() API error checking
        Documentation: livepatch: outline Elf format and requirements for patch modules
        livepatch: reuse module loader code to write relocations
        module: s390: keep mod_arch_specific for livepatch modules
        module: preserve Elf information for livepatch modules
        Elf: add livepatch-specific Elf constants
      0b86c75d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 16bf8348
      Linus Torvalds authored
      Pull trivial tree updates from Jiri Kosina.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (21 commits)
        gitignore: fix wording
        mfd: ab8500-debugfs: fix "between" in printk
        memstick: trivial fix of spelling mistake on management
        cpupowerutils: bench: fix "average"
        treewide: Fix typos in printk
        IB/mlx4: printk fix
        pinctrl: sirf/atlas7: fix printk spelling
        serial: mctrl_gpio: Grammar s/lines GPIOs/line GPIOs/, /sets/set/
        w1: comment spelling s/minmum/minimum/
        Blackfin: comment spelling s/divsor/divisor/
        metag: Fix misspellings in comments.
        ia64: Fix misspellings in comments.
        hexagon: Fix misspellings in comments.
        tools/perf: Fix misspellings in comments.
        cris: Fix misspellings in comments.
        c6x: Fix misspellings in comments.
        blackfin: Fix misspelling of 'register' in comment.
        avr32: Fix misspelling of 'definitions' in comment.
        treewide: Fix typos in printk
        Doc: treewide : Fix typos in DocBook/filesystem.xml
        ...
      16bf8348
  4. 17 May, 2016 15 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · a7fd20d1
      Linus Torvalds authored
      Pull networking updates from David Miller:
       "Highlights:
      
         1) Support SPI based w5100 devices, from Akinobu Mita.
      
         2) Partial Segmentation Offload, from Alexander Duyck.
      
         3) Add GMAC4 support to stmmac driver, from Alexandre TORGUE.
      
         4) Allow cls_flower stats offload, from Amir Vadai.
      
         5) Implement bpf blinding, from Daniel Borkmann.
      
         6) Optimize _ASYNC_ bit twiddling on sockets, unless the socket is
            actually using FASYNC these atomics are superfluous.  From Eric
            Dumazet.
      
         7) Run TCP more preemptibly, also from Eric Dumazet.
      
         8) Support LED blinking, EEPROM dumps, and rxvlan offloading in mlx5e
            driver, from Gal Pressman.
      
         9) Allow creating ppp devices via rtnetlink, from Guillaume Nault.
      
        10) Improve BPF usage documentation, from Jesper Dangaard Brouer.
      
        11) Support tunneling offloads in qed, from Manish Chopra.
      
        12) aRFS offloading in mlx5e, from Maor Gottlieb.
      
        13) Add RFS and RPS support to SCTP protocol, from Marcelo Ricardo
            Leitner.
      
        14) Add MSG_EOR support to TCP, this allows controlling packet
            coalescing on application record boundaries for more accurate
            socket timestamp sampling.  From Martin KaFai Lau.
      
        15) Fix alignment of 64-bit netlink attributes across the board, from
            Nicolas Dichtel.
      
        16) Per-vlan stats in bridging, from Nikolay Aleksandrov.
      
        17) Several conversions of drivers to ethtool ksettings, from Philippe
            Reynes.
      
        18) Checksum neutral ILA in ipv6, from Tom Herbert.
      
        19) Factorize all of the various marvell dsa drivers into one, from
            Vivien Didelot
      
        20) Add VF support to qed driver, from Yuval Mintz"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1649 commits)
        Revert "phy dp83867: Fix compilation with CONFIG_OF_MDIO=m"
        Revert "phy dp83867: Make rgmii parameters optional"
        r8169: default to 64-bit DMA on recent PCIe chips
        phy dp83867: Make rgmii parameters optional
        phy dp83867: Fix compilation with CONFIG_OF_MDIO=m
        bpf: arm64: remove callee-save registers use for tmp registers
        asix: Fix offset calculation in asix_rx_fixup() causing slow transmissions
        switchdev: pass pointer to fib_info instead of copy
        net_sched: close another race condition in tcf_mirred_release()
        tipc: fix nametable publication field in nl compat
        drivers: net: Don't print unpopulated net_device name
        qed: add support for dcbx.
        ravb: Add missing free_irq() calls to ravb_close()
        qed: Remove a stray tab
        net: ethernet: fec-mpc52xx: use phy_ethtool_{get|set}_link_ksettings
        net: ethernet: fec-mpc52xx: use phydev from struct net_device
        bpf, doc: fix typo on bpf_asm descriptions
        stmmac: hardware TX COE doesn't work when force_thresh_dma_mode is set
        net: ethernet: fs-enet: use phy_ethtool_{get|set}_link_ksettings
        net: ethernet: fs-enet: use phydev from struct net_device
        ...
      a7fd20d1
    • Andreas Gruenbacher's avatar
      btrfs: Switch to generic xattr handlers · e0d46f5c
      Andreas Gruenbacher authored
      The btrfs_{set,remove}xattr inode operations check for a read-only root
      (btrfs_root_readonly) before calling into generic_{set,remove}xattr.  If
      this check is moved into __btrfs_setxattr, we can get rid of
      btrfs_{set,remove}xattr.
      
      This patch applies to mainline, I would like to keep it together with
      the other xattr cleanups if possible, though.  Could you please review?
      
      Thanks,
      Andreas
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e0d46f5c
    • Andreas Gruenbacher's avatar
      ubifs: Switch to generic xattr handlers · 2b88fc21
      Andreas Gruenbacher authored
      Ubifs internally uses special inodes for storing xattrs. Those inodes
      had NULL {get,set,remove}xattr inode operations before this change, so
      xattr operations on them would fail. The super block's s_xattr field
      would also apply to those special inodes. However, the inodes are not
      visible outside of ubifs, and so no xattr operations will ever be
      carried out on them anyway.
      Signed-off-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: default avatarRichard Weinberger <richard@nod.at>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      2b88fc21
    • Linus Torvalds's avatar
      Merge tag 'dm-4.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · b80fed95
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - based on Jens' 'for-4.7/core' to have DM thinp's discard support use
         bio_inc_remaining() and the block core's new async __blkdev_issue_discard()
         interface
      
       - make DM multipath's fast code-paths lockless, using lockless_deference,
         to significantly improve large NUMA performance when using blk-mq.
         The m->lock spinlock contention was a serious bottleneck.
      
       - a few other small code cleanups and Documentation fixes
      
      * tag 'dm-4.7-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm thin: unroll issue_discard() to create longer discard bio chains
        dm thin: use __blkdev_issue_discard for async discard support
        dm thin: remove __bio_inc_remaining() and switch to using bio_inc_remaining()
        dm raid: make sure no feature flags are set in metadata
        dm ioctl: drop use of __GFP_REPEAT in copy_params()'s __vmalloc() call
        dm stats: fix spelling mistake in Documentation
        dm cache: update cache-policies.txt now that mq is an alias for smq
        dm mpath: eliminate use of spinlock in IO fast-paths
        dm mpath: move trigger_event member to the end of 'struct multipath'
        dm mpath: use atomic_t for counting members of 'struct multipath'
        dm mpath: switch to using bitops for state flags
        dm thin: Remove return statement from void function
        dm: remove unused mapped_device argument from free_tio()
      b80fed95
    • Linus Torvalds's avatar
      Merge branch 'for-4.7/drivers' of git://git.kernel.dk/linux-block · 24b9f0cf
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "On top of the core pull request, this is the drivers pull request for
        this merge window.  This contains:
      
         - Switch drivers to the new write back cache API, and kill off the
           flush flags.  From me.
      
         - Kill the discard support for the STEC pci-e flash driver.  It's
           trivially broken, and apparently unmaintained, so it's safer to
           just remove it.  From Jeff Moyer.
      
         - A set of lightnvm updates from the usual suspects (Matias/Javier,
           and Simon), and fixes from Arnd, Jeff Mahoney, Sagi, and Wenwei
           Tao.
      
         - A set of updates for NVMe:
      
              - Turn the controller state management into a proper state
                machine.  From Christoph.
      
              - Shuffling of code in preparation for NVMe-over-fabrics, also
                from Christoph.
      
              - Cleanup of the command prep part from Ming Lin.
      
              - Rewrite of the discard support from Ming Lin.
      
              - Deadlock fix for namespace removal from Ming Lin.
      
              - Use the now exported blk-mq tag helper for IO termination.
                From Sagi.
      
              - Various little fixes from Christoph, Guilherme, Keith, Ming
                Lin, Wang Sheng-Hui.
      
         - Convert mtip32xx to use the now exported blk-mq tag iter function,
           from Keith"
      
      * 'for-4.7/drivers' of git://git.kernel.dk/linux-block: (74 commits)
        lightnvm: reserved space calculation incorrect
        lightnvm: rename nr_pages to nr_ppas on nvm_rq
        lightnvm: add is_cached entry to struct ppa_addr
        lightnvm: expose gennvm_mark_blk to targets
        lightnvm: remove mgt targets on mgt removal
        lightnvm: pass dma address to hardware rather than pointer
        lightnvm: do not assume sequential lun alloc.
        nvme/lightnvm: Log using the ctrl named device
        lightnvm: rename dma helper functions
        lightnvm: enable metadata to be sent to device
        lightnvm: do not free unused metadata on rrpc
        lightnvm: fix out of bound ppa lun id on bb tbl
        lightnvm: refactor set_bb_tbl for accepting ppa list
        lightnvm: move responsibility for bad blk mgmt to target
        lightnvm: make nvm_set_rqd_ppalist() aware of vblks
        lightnvm: remove struct factory_blks
        lightnvm: refactor device ops->get_bb_tbl()
        lightnvm: introduce nvm_for_each_lun_ppa() macro
        lightnvm: refactor dev->online_target to global nvm_targets
        lightnvm: rename nvm_targets to nvm_tgt_type
        ...
      24b9f0cf
    • Linus Torvalds's avatar
      Merge branch 'for-4.7/core' of git://git.kernel.dk/linux-block · a4d1dbed
      Linus Torvalds authored
      Pull core block layer updates from Jens Axboe:
       "This is the core block IO changes for this merge window.  Nothing
        earth shattering in here, it's mostly just fixes.  In detail:
      
         - Fix for a long standing issue where wrong ordering in blk-mq caused
           order_to_size() to spew a warning.  From Bart.
      
         - Async discard support from Christoph.  Basically just splitting our
           sync interface into a submit + wait part.
      
         - Add a cleaner interface for flagging whether a device has a write
           back cache or not.  We've previously overloaded blk_queue_flush()
           with this, but let's make it more explicit.  Drivers cleaned up and
           updated in the drivers pull request.  From me.
      
         - Fix for a double check for whether IO accounting is enabled or not.
           From Michael Callahan.
      
         - Fix for the async discard from Mike Snitzer, reinstating the early
           EOPNOTSUPP return if the device doesn't support discards.
      
         - Also from Mike, export bio_inc_remaining() so dm can drop it's
           private copy of it.
      
         - From Ming Lin, add support for passing in an offset for request
           payloads.
      
         - Tag function export from Sagi, which will be used in NVMe in the
           drivers pull.
      
         - Two blktrace related fixes from Shaohua.
      
         - Propagate NOMERGE flag when making a request from a bio, also from
           Shaohua.
      
         - An optimization to not parse cgroup paths in blk-throttle, if we
           don't need to.  From Shaohua"
      
      * 'for-4.7/core' of git://git.kernel.dk/linux-block:
        blk-mq: fix undefined behaviour in order_to_size()
        blk-throttle: don't parse cgroup path if trace isn't enabled
        blktrace: add missed mask name
        blktrace: delete garbage for message trace
        block: make bio_inc_remaining() interface accessible again
        block: reinstate early return of -EOPNOTSUPP from blkdev_issue_discard
        block: Minor blk_account_io_start usage cleanup
        block: add __blkdev_issue_discard
        block: remove struct bio_batch
        block: copy NOMERGE flag from bio to request
        block: add ability to flag write back caching on a device
        blk-mq: Export tagset iter function
        block: add offset in blk_add_request_payload()
        writeback: Fix performance regression in wb_over_bg_thresh()
      a4d1dbed
    • Linus Torvalds's avatar
      Merge branch 'work.preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c2e7b207
      Linus Torvalds authored
      Pull vfs cleanups from Al Viro:
       "More cleanups from Christoph"
      
      * 'work.preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        nfsd: use RWF_SYNC
        fs: add RWF_DSYNC aand RWF_SYNC
        ceph: use generic_write_sync
        fs: simplify the generic_write_sync prototype
        fs: add IOCB_SYNC and IOCB_DSYNC
        direct-io: remove the offset argument to dio_complete
        direct-io: eliminate the offset argument to ->direct_IO
        xfs: eliminate the pos variable in xfs_file_dio_aio_write
        filemap: remove the pos argument to generic_file_direct_write
        filemap: remove pos variables in generic_file_read_iter
      c2e7b207
    • Linus Torvalds's avatar
      Merge branch 'work.const-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · c52b7618
      Linus Torvalds authored
      Pull 'struct path' constification update from Al Viro:
       "'struct path' is passed by reference to a bunch of Linux security
        methods; in theory, there's nothing to stop them from modifying the
        damn thing and LSM community being what it is, sooner or later some
        enterprising soul is going to decide that it's a good idea.
      
        Let's remove the temptation and constify all of those..."
      
      * 'work.const-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        constify ima_d_path()
        constify security_sb_pivotroot()
        constify security_path_chroot()
        constify security_path_{link,rename}
        apparmor: remove useless checks for NULL ->mnt
        constify security_path_{mkdir,mknod,symlink}
        constify security_path_{unlink,rmdir}
        apparmor: constify common_perm_...()
        apparmor: constify aa_path_link()
        apparmor: new helper - common_path_perm()
        constify chmod_common/security_path_chmod
        constify security_sb_mount()
        constify chown_common/security_path_chown
        tomoyo: constify assorted struct path *
        apparmor_path_truncate(): path->mnt is never NULL
        constify vfs_truncate()
        constify security_path_truncate()
        [apparmor] constify struct path * in a bunch of helpers
      c52b7618
    • Linus Torvalds's avatar
      Merge branch 'for-cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 681750c0
      Linus Torvalds authored
      Pull cifs xattr updates from Al Viro:
       "This is the remaining parts of the xattr work - the cifs bits"
      
      * 'for-cifs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        cifs: Switch to generic xattr handlers
        cifs: Fix removexattr for os2.* xattrs
        cifs: Check for equality with ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT
        cifs: Fix xattr name checks
      681750c0
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 820c687b
      Linus Torvalds authored
      Pull UDF fixes from Jan Kara:
       "A fix for UDF crash on corrupted media and one UDF header fixup"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Export superblock magic to userspace
        udf: Prevent stack overflow on corrupted filesystem mount
      820c687b
    • Linus Torvalds's avatar
      Merge tag 'jfs-4.7' of git://github.com/kleikamp/linux-shaggy · dba1e987
      Linus Torvalds authored
      Pull jfs updates from Dave Kleikamp:
       "Some jfs logging cleanups from Joe Perches"
      
      * tag 'jfs-4.7' of git://github.com/kleikamp/linux-shaggy:
        jfs: Coalesce some formats
        jfs: Remove unnecessary line continuations and terminating newlines
        jfs: Remove terminating newlines from jfs_info, jfs_warn, jfs_err uses
      dba1e987
    • Kees Cook's avatar
      exec: clarify reasoning for euid/egid reset · cb6fd68f
      Kees Cook authored
      This section of code initially looks redundant, but is required. This
      improves the comment to explain more clearly why the reset is needed.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb6fd68f
    • Steve French's avatar
      remove directory incorrectly tries to set delete on close on non-empty directories · 897fba11
      Steve French authored
      Wrong return code was being returned on SMB3 rmdir of
      non-empty directory.
      
      For SMB3 (unlike for cifs), we attempt to delete a directory by
      set of delete on close flag on the open. Windows clients set
      this flag via a set info (SET_FILE_DISPOSITION to set this flag)
      which properly checks if the directory is empty.
      
      With this patch on smb3 mounts we correctly return
       "DIRECTORY NOT EMPTY"
      on attempts to remove a non-empty directory.
      Signed-off-by: default avatarSteve French <steve.french@primarydata.com>
      CC: Stable <stable@vger.kernel.org>
      Acked-by: default avatarSachin Prabhu <sprabhu@redhat.com>
      897fba11
    • Steve French's avatar
      Update cifs.ko version to 2.09 · 5a4f7e8e
      Steve French authored
      Signed-off-by: default avatarSteven French <steve.french@primarydata.com>
      5a4f7e8e
    • Stefan Metzmacher's avatar
      fs/cifs: correctly to anonymous authentication for the NTLM(v2) authentication · 1a967d6c
      Stefan Metzmacher authored
      Only server which map unknown users to guest will allow
      access using a non-null NTLMv2_Response.
      
      For Samba it's the "map to guest = bad user" option.
      
      BUG: https://bugzilla.samba.org/show_bug.cgi?id=11913Signed-off-by: default avatarStefan Metzmacher <metze@samba.org>
      CC: Stable <stable@vger.kernel.org>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      1a967d6c