linux-2.6-block.git
3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:19 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/gclement/mvebu.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:19 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/matthias.bgg/linux.git

3 years agoMerge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:18 +0000 (09:55 +1100)]
Merge branch 'next' of git://git./linux/kernel/git/ssantosh/linux-keystone.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:15 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/shawnguo/linux.git

3 years agoMerge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:14 +0000 (09:55 +1100)]
Merge branch 'for-next' of https://git./linux/kernel/git/krzk/linux-mem-ctrl.git

3 years agoMerge branch 'at91-next' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
Stephen Rothwell [Mon, 28 Feb 2022 22:55:13 +0000 (09:55 +1100)]
Merge branch 'at91-next' of git://git./linux/kernel/git/at91/linux.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc.git
Stephen Rothwell [Mon, 28 Feb 2022 22:55:13 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/joel/bmc.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:12 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/amlogic/linux.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mani/linux...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:12 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/mani/linux-actions.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git
Stephen Rothwell [Mon, 28 Feb 2022 22:55:12 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/soc/soc.git

# Conflicts:
# arch/arm/Kconfig

3 years agoMerge branch 'for-next/core' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
Stephen Rothwell [Mon, 28 Feb 2022 22:55:11 +0000 (09:55 +1100)]
Merge branch 'for-next/core' of git://git./linux/kernel/git/arm64/linux

3 years agoMerge branch 'for-next' of git://git.armlinux.org.uk/~rmk/linux-arm.git
Stephen Rothwell [Mon, 28 Feb 2022 22:55:10 +0000 (09:55 +1100)]
Merge branch 'for-next' of git://git.armlinux.org.uk/~rmk/linux-arm.git

3 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-gener...
Stephen Rothwell [Mon, 28 Feb 2022 22:40:36 +0000 (09:40 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/arnd/asm-generic.git

3 years agoMerge branch 'for-next' of git://git.infradead.org/users/hch/dma-mapping.git
Stephen Rothwell [Mon, 28 Feb 2022 22:38:28 +0000 (09:38 +1100)]
Merge branch 'for-next' of git://git.infradead.org/users/hch/dma-mapping.git

3 years agoMerge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git
Stephen Rothwell [Mon, 28 Feb 2022 22:37:16 +0000 (09:37 +1100)]
Merge branch 'perf/core' of git://git./linux/kernel/git/acme/linux.git

3 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
Stephen Rothwell [Mon, 28 Feb 2022 22:36:02 +0000 (09:36 +1100)]
Merge branch 'for-next' of git://git./linux/kernel/git/masahiroy/linux-kbuild.git

3 years agoMerge branch 'for-next/kspp' of git://git.kernel.org/pub/scm/linux/kernel/git/gustavo...
Stephen Rothwell [Mon, 28 Feb 2022 22:30:52 +0000 (09:30 +1100)]
Merge branch 'for-next/kspp' of git://git./linux/kernel/git/gustavoars/linux.git

3 years agonext-20220228/kspp
Stephen Rothwell [Mon, 28 Feb 2022 22:23:10 +0000 (09:23 +1100)]
next-20220228/kspp

3 years agoMerge branch 'for-linux-next-fixes' of git://anongit.freedesktop.org/drm/drm-misc
Stephen Rothwell [Mon, 28 Feb 2022 21:47:19 +0000 (08:47 +1100)]
Merge branch 'for-linux-next-fixes' of git://anongit.freedesktop.org/drm/drm-misc

3 years agoMerge branch 'zstd-linus' of https://github.com/terrelln/linux.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:19 +0000 (08:47 +1100)]
Merge branch 'zstd-linus' of https://github.com/terrelln/linux.git

3 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:18 +0000 (08:47 +1100)]
Merge branch 'fixes' of git://git./linux/kernel/git/rw/ubifs.git

3 years agoMerge branch 'rtc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:17 +0000 (08:47 +1100)]
Merge branch 'rtc-fixes' of git://git./linux/kernel/git/abelloni/linux.git

3 years agoMerge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:17 +0000 (08:47 +1100)]
Merge branch 'fixes' of git://git./linux/kernel/git/ulfh/mmc.git

3 years agoMerge branch 'for-linux-next-fixes' of git://anongit.freedesktop.org/drm-intel
Stephen Rothwell [Mon, 28 Feb 2022 21:47:16 +0000 (08:47 +1100)]
Merge branch 'for-linux-next-fixes' of git://anongit.freedesktop.org/drm-intel

3 years agoMerge branch 'drm-fixes' of git://git.freedesktop.org/git/drm/drm.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:16 +0000 (08:47 +1100)]
Merge branch 'drm-fixes' of git://git.freedesktop.org/git/drm/drm.git

3 years agoMerge branch 'next-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:15 +0000 (08:47 +1100)]
Merge branch 'next-fixes' of git://git./linux/kernel/git/kdave/linux.git

3 years agoMerge branch 'hwmon' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:15 +0000 (08:47 +1100)]
Merge branch 'hwmon' of git://git./linux/kernel/git/groeck/linux-staging.git

3 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/virt/kvm/kvm.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:15 +0000 (08:47 +1100)]
Merge branch 'master' of git://git./virt/kvm/kvm.git

3 years agoMerge branch 'mips-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:15 +0000 (08:47 +1100)]
Merge branch 'mips-fixes' of git://git./linux/kernel/git/mips/linux.git

3 years agoMerge branch 'fixes' of git://linuxtv.org/mchehab/media-next.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:14 +0000 (08:47 +1100)]
Merge branch 'fixes' of git://linuxtv.org/mchehab/media-next.git

3 years agoMerge branch 'mtd/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:14 +0000 (08:47 +1100)]
Merge branch 'mtd/fixes' of git://git./linux/kernel/git/mtd/linux.git

3 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:13 +0000 (08:47 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input.git

3 years agoMerge branch 'fixes-togreg' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:13 +0000 (08:47 +1100)]
Merge branch 'fixes-togreg' of git://git./linux/kernel/git/jic23/iio.git

3 years agoMerge branch 'for-usb-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/peter...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:13 +0000 (08:47 +1100)]
Merge branch 'for-usb-fixes' of git://git./linux/kernel/git/peter.chen/usb.git

# Conflicts:
# drivers/usb/chipidea/ci_hdrc_imx.c

3 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:11 +0000 (08:47 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/spi.git

3 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:11 +0000 (08:47 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/regulator.git

3 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:11 +0000 (08:47 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/broonie/sound.git

3 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:11 +0000 (08:47 +1100)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound.git

3 years agoMerge branch 'main' of git git://git.kernel.org/pub/scm/linux/kernel/git/wireless...
Stephen Rothwell [Mon, 28 Feb 2022 21:47:10 +0000 (08:47 +1100)]
Merge branch 'main' of git git://git./linux/kernel/git/wireless/wireless.git

3 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:10 +0000 (08:47 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/bpf/bpf.git

3 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:10 +0000 (08:47 +1100)]
Merge branch 'master' of git://git./linux/kernel/git/netdev/net.git

3 years agoMerge branch 'fixes' of https://git.linaro.org/people/jens.wiklander/linux-tee.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:09 +0000 (08:47 +1100)]
Merge branch 'fixes' of https://git.linaro.org/people/jens.wiklander/linux-tee.git

3 years agoMerge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm.git
Stephen Rothwell [Mon, 28 Feb 2022 21:47:09 +0000 (08:47 +1100)]
Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm.git

3 years agoMerge tag 'soc-fixes-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Linus Torvalds [Mon, 28 Feb 2022 20:51:14 +0000 (12:51 -0800)]
Merge tag 'soc-fixes-5.17-2' of git://git./linux/kernel/git/soc/soc

Pull ARM SoC fixes from Arnd Bergmann:
 "The code changes address mostly minor problems:

   - Several NXP/FSL SoC driver fixes, addressing issues with error
     handling and compilation

   - Fix a clock disabling imbalance in gpcv2 driver.

   - Arm Juno DMA coherency issue

   - Trivial firmware driver fixes for op-tee and scmi firmware

  The remaining changes address issues in the devicetree files:

   - A timer regression for the OMAP devkit8000, which has to use the
     alternative timer.

   - A hang in the i.MX8MM power domain configuration

   - Multiple fixes for the Rockchip RK3399 addressing issues with sound
     and eMMC

   - Cosmetic fixes for i.MX8ULP, RK3xxx, and Tegra124"

* tag 'soc-fixes-5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (32 commits)
  ARM: tegra: Move panels to AUX bus
  soc: imx: gpcv2: Fix clock disabling imbalance in error path
  soc: fsl: qe: Check of ioremap return value
  soc: fsl: qe: fix typo in a comment
  soc: fsl: guts: Add a missing memory allocation failure check
  soc: fsl: guts: Revert commit 3c0d64e867ed
  soc: fsl: Correct MAINTAINERS database (SOC)
  soc: fsl: Correct MAINTAINERS database (QUICC ENGINE LIBRARY)
  soc: fsl: Replace kernel.h with the necessary inclusions
  dt-bindings: fsl,layerscape-dcfg: add missing compatible for lx2160a
  dt-bindings: qoriq-clock: add missing compatible for lx2160a
  ARM: dts: Use 32KiHz oscillator on devkit8000
  ARM: dts: switch timer config to common devkit8000 devicetree
  tee: optee: fix error return code in probe function
  arm64: dts: imx8ulp: Set #thermal-sensor-cells to 1 as required
  arm64: dts: imx8mm: Fix VPU Hanging
  ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
  ARM: dts: rockchip: reorder rk322x hmdi clocks
  firmware: arm_scmi: Remove space in MODULE_ALIAS name
  arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg"
  ...

3 years agoMerge tag 'efi-urgent-for-v5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 28 Feb 2022 20:44:33 +0000 (12:44 -0800)]
Merge tag 'efi-urgent-for-v5.17-2' of git://git./linux/kernel/git/efi/efi

Pull EFI fixes from Ard Biesheuvel:

 - don't treat valid hartid U32_MAX as a failure return code (RISC-V)

 - avoid blocking query_variable_info() call when blocking is not
   allowed

* tag 'efi-urgent-for-v5.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
  efivars: Respect "block" flag in efivar_entry_set_safe()
  riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value

3 years agodrm/arm: arm hdlcd select DRM_GEM_CMA_HELPER
Carsten Haitzler [Mon, 24 Jan 2022 16:24:37 +0000 (16:24 +0000)]
drm/arm: arm hdlcd select DRM_GEM_CMA_HELPER

Without DRM_GEM_CMA_HELPER HDLCD won't build. This needs to be there too.

Fixes: 09717af7d13d ("drm: Remove CONFIG_DRM_KMS_CMA_HELPER option")
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Carsten Haitzler <carsten.haitzler@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220124162437.2470344-1-carsten.haitzler@foss.arm.com
3 years agoiio: adc: xilinx-ams: Fix single channel switching sequence
Robert Hancock [Thu, 27 Jan 2022 17:34:50 +0000 (11:34 -0600)]
iio: adc: xilinx-ams: Fix single channel switching sequence

Some of the AMS channels need to be read by switching into single-channel
mode from the normal polling sequence. There was a logic issue in this
switching code that could cause the first read of these channels to read
back as zero.

It appears that the sequencer should be set back to default mode before
changing the channel selection, and the channel should be set before
switching the sequencer back into single-channel mode.

Also, write 1 to the EOC bit in the status register to clear it before
waiting for it to become set, so that we actually wait for a new
conversion to complete, and don't proceed based on a previous conversion
completing.

Fixes: d5c70627a794 ("iio: adc: Add Xilinx AMS driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/20220127173450.3684318-5-robert.hancock@calian.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
3 years agoiio: adc: xilinx-ams: Fixed wrong sequencer register settings
Robert Hancock [Thu, 27 Jan 2022 17:34:49 +0000 (11:34 -0600)]
iio: adc: xilinx-ams: Fixed wrong sequencer register settings

Register settings used for the sequencer configuration register
were incorrect, causing some inputs to not be read properly.

Fixes: d5c70627a794 ("iio: adc: Add Xilinx AMS driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reviewed-by: Michael Tretter <m.tretter@pengutronix.de>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/20220127173450.3684318-4-robert.hancock@calian.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
3 years agoiio: adc: xilinx-ams: Fixed missing PS channels
Robert Hancock [Thu, 27 Jan 2022 17:34:48 +0000 (11:34 -0600)]
iio: adc: xilinx-ams: Fixed missing PS channels

The code forgot to increment num_channels for the PS channel inputs,
resulting in them not being enabled as they should.

Fixes: d5c70627a794 ("iio: adc: Add Xilinx AMS driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reviewed-by: Michael Tretter <m.tretter@pengutronix.de>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/20220127173450.3684318-3-robert.hancock@calian.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
3 years agodt-bindings: iio: adc: zynqmp_ams: Add clock entry
Robert Hancock [Thu, 27 Jan 2022 17:34:47 +0000 (11:34 -0600)]
dt-bindings: iio: adc: zynqmp_ams: Add clock entry

The AMS driver DT binding was missing the clock entry, which is actually
mandatory according to the driver implementation. Add this in.

Fixes: 39dd2d1e251d ("dt-bindings: iio: adc: Add Xilinx AMS binding documentation")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/20220127173450.3684318-2-robert.hancock@calian.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
3 years agodrm/bridge: ti-sn65dsi86: Properly undo autosuspend
Douglas Anderson [Tue, 22 Feb 2022 22:18:43 +0000 (14:18 -0800)]
drm/bridge: ti-sn65dsi86: Properly undo autosuspend

The PM Runtime docs say:
  Drivers in ->remove() callback should undo the runtime PM changes done
  in ->probe(). Usually this means calling pm_runtime_disable(),
  pm_runtime_dont_use_autosuspend() etc.

We weren't doing that for autosuspend. Let's do it.

Fixes: 9bede63127c6 ("drm/bridge: ti-sn65dsi86: Use pm_runtime autosuspend")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220222141838.1.If784ba19e875e8ded4ec4931601ce6d255845245@changeid
3 years agoMerge branch 'mvebu/arm' into mvebu/for-next
Gregory CLEMENT [Mon, 28 Feb 2022 16:44:20 +0000 (17:44 +0100)]
Merge branch 'mvebu/arm' into mvebu/for-next

3 years agoarm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
Pali Rohár [Mon, 17 Jan 2022 18:20:06 +0000 (19:20 +0100)]
arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias

U-Boot uses ethernet* aliases for setting MAC addresses. Therefore define
also alias for ethernet0.

Fixes: 7109d817db2e ("arm64: dts: marvell: add DTS for Turris Mox")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
3 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Mon, 28 Feb 2022 15:58:06 +0000 (16:58 +0100)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  soc: microchip: make mpfs_sys_controller_put static

3 years agosoc: microchip: make mpfs_sys_controller_put static
Conor Dooley [Sat, 26 Feb 2022 12:48:27 +0000 (12:48 +0000)]
soc: microchip: make mpfs_sys_controller_put static

dsafsdfd0054 ("soc: add microchip polarfire soc system controller")
incorrectly exported mpfs_sys_controller_put. Remove the export and make
the function static instead. This fixes the "no previous prototype
for 'mpfs_sys_controller_put'" warning spotted by the kernel test robot.

Fixes: d0054a470c33 ("soc: add microchip polarfire soc system controller")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <mail@conchuod.ie>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'mvebu-fixes-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclem...
Arnd Bergmann [Mon, 28 Feb 2022 14:59:19 +0000 (15:59 +0100)]
Merge tag 'mvebu-fixes-5.17-1' of git://git./linux/kernel/git/gclement/mvebu into for-next

mvebu fixes for 5.17 (part 1)

 - Add missing ethernet alias on armada-3720-turris-mox to let
   bootloader setting MAC address.

 - Increase PCIe IO size on Armada 3720

* tag 'mvebu-fixes-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
  arm64: dts: marvell: armada-37xx: Increase PCIe IO size from 64 KiB to 1 MiB

Link: https://lore.kernel.org/r/87ilthjtpg.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoxsk: Fix race at socket teardown
Magnus Karlsson [Mon, 28 Feb 2022 09:45:52 +0000 (10:45 +0100)]
xsk: Fix race at socket teardown

Fix a race in the xsk socket teardown code that can lead to a NULL pointer
dereference splat. The current xsk unbind code in xsk_unbind_dev() starts by
setting xs->state to XSK_UNBOUND, sets xs->dev to NULL and then waits for any
NAPI processing to terminate using synchronize_net(). After that, the release
code starts to tear down the socket state and free allocated memory.

  BUG: kernel NULL pointer dereference, address: 00000000000000c0
  PGD 8000000932469067 P4D 8000000932469067 PUD 0
  Oops: 0000 [#1] PREEMPT SMP PTI
  CPU: 25 PID: 69132 Comm: grpcpp_sync_ser Tainted: G          I       5.16.0+ #2
  Hardware name: Dell Inc. PowerEdge R730/0599V5, BIOS 1.2.10 03/09/2015
  RIP: 0010:__xsk_sendmsg+0x2c/0x690
  [...]
  RSP: 0018:ffffa2348bd13d50 EFLAGS: 00010246
  RAX: 0000000000000000 RBX: 0000000000000040 RCX: ffff8d5fc632d258
  RDX: 0000000000400000 RSI: ffffa2348bd13e10 RDI: ffff8d5fc5489800
  RBP: ffffa2348bd13db0 R08: 0000000000000000 R09: 00007ffffffff000
  R10: 0000000000000000 R11: 0000000000000000 R12: ffff8d5fc5489800
  R13: ffff8d5fcb0f5140 R14: ffff8d5fcb0f5140 R15: 0000000000000000
  FS:  00007f991cff9400(0000) GS:ffff8d6f1f700000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00000000000000c0 CR3: 0000000114888005 CR4: 00000000001706e0
  Call Trace:
  <TASK>
  ? aa_sk_perm+0x43/0x1b0
  xsk_sendmsg+0xf0/0x110
  sock_sendmsg+0x65/0x70
  __sys_sendto+0x113/0x190
  ? debug_smp_processor_id+0x17/0x20
  ? fpregs_assert_state_consistent+0x23/0x50
  ? exit_to_user_mode_prepare+0xa5/0x1d0
  __x64_sys_sendto+0x29/0x30
  do_syscall_64+0x3b/0xc0
  entry_SYSCALL_64_after_hwframe+0x44/0xae

There are two problems with the current code. First, setting xs->dev to NULL
before waiting for all users to stop using the socket is not correct. The
entry to the data plane functions xsk_poll(), xsk_sendmsg(), and xsk_recvmsg()
are all guarded by a test that xs->state is in the state XSK_BOUND and if not,
it returns right away. But one process might have passed this test but still
have not gotten to the point in which it uses xs->dev in the code. In this
interim, a second process executing xsk_unbind_dev() might have set xs->dev to
NULL which will lead to a crash for the first process. The solution here is
just to get rid of this NULL assignment since it is not used anymore. Before
commit 42fddcc7c64b ("xsk: use state member for socket synchronization"),
xs->dev was the gatekeeper to admit processes into the data plane functions,
but it was replaced with the state variable xs->state in the aforementioned
commit.

The second problem is that synchronize_net() does not wait for any process in
xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() to complete, which means that the
state they rely on might be cleaned up prematurely. This can happen when the
notifier gets called (at driver unload for example) as it uses xsk_unbind_dev().
Solve this by extending the RCU critical region from just the ndo_xsk_wakeup
to the whole functions mentioned above, so that both the test of xs->state ==
XSK_BOUND and the last use of any member of xs is covered by the RCU critical
section. This will guarantee that when synchronize_net() completes, there will
be no processes left executing xsk_poll(), xsk_sendmsg(), or xsk_recvmsg() and
state can be cleaned up safely. Note that we need to drop the RCU lock for the
skb xmit path as it uses functions that might sleep. Due to this, we have to
retest the xs->state after we grab the mutex that protects the skb xmit code
from, among a number of things, an xsk_unbind_dev() being executed from the
notifier at the same time.

Fixes: 42fddcc7c64b ("xsk: use state member for socket synchronization")
Reported-by: Elza Mathew <elza.mathew@intel.com>
Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Björn Töpel <bjorn@kernel.org>
Link: https://lore.kernel.org/bpf/20220228094552.10134-1-magnus.karlsson@gmail.com
3 years agosoc: document merges
Arnd Bergmann [Mon, 28 Feb 2022 14:30:13 +0000 (15:30 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Mon, 28 Feb 2022 14:23:08 +0000 (15:23 +0100)]
Merge branch 'arm/dt' into for-next

* arm/dt: (78 commits)
  arm64: dts: ti: Add support for AM62-SK
  arm64: dts: ti: Introduce base support for AM62x SoC
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62
  dt-bindings: arm: ti: Add bindings for AM625 SoC
  ARM: dts: aspeed: p10bmc: Enable ftrace in ramoops buffer
  ARM: dts: aspeed: everest: Add RTC battery gpio name
  ARM: dts: aspeed: rainer: Add RTC battery gpio name
  ARM: dts: aspeed: Add ASRock ROMED8HM3 BMC
  ARM: dts: aspeed: rainier: Remove SPI NOR controllers
  ARM: dts: aspeed: mtjade: Move all adc sensors into iio-hwmon node
  ARM: dts: aspeed: mtjade: Rename GPIO hog nodes to match schema.
  ARM: dts: aspeed: mtjade: Update host0-ready pin
  ARM: dts: aspeed: mtjade: Update rtc-battery-voltage-read-enable pin
  ARM: dts: aspeed: mtjade: Enable secondary flash
  ARM: tegra: tamonten: Fix I2C3 pad setting
  arm64: tegra: Drop arm,armv8-pmuv3 compatible string
  arm64: tegra: Enable Jetson Xavier NX USB device mode
  arm64: tegra: Enable UART instance on 40-pin header
  arm64: tegra: Add HDA device tree node for Tegra234
  arm64: tegra: Enable device-tree overlay support
  ...

3 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Mon, 28 Feb 2022 14:23:00 +0000 (15:23 +0100)]
Merge branch 'arm/drivers' into for-next

* arm/drivers:
  soc: ti: k3-socinfo: Add AM62x JTAG ID
  soc/tegra: bpmp: cleanup double word in comment
  soc/tegra: pmc: Add Tegra234 wake events
  soc/tegra: fuse: Explicitly cast to/from __iomem
  soc/tegra: fuse: Update nvmem cell list
  soc/tegra: pmc: Enable core domain support for Tegra20 and Tegra30
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  firmware: ti_sci: inproper error handling of ti_sci_probe
  firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
  soc: ti: smartreflex: Use platform_get_irq_optional() to get the interrupt
  soc: ti: k3-ringacc: Use devm_bitmap_zalloc() when applicable

3 years agoMerge branch 'arm/defconfig' into for-next
Arnd Bergmann [Mon, 28 Feb 2022 14:22:46 +0000 (15:22 +0100)]
Merge branch 'arm/defconfig' into for-next

* arm/defconfig:
  arm64: defconfig: tegra: Enable GPCDMA
  arm64: defconfig: Enable USB controller drivers for TI K3 SoC

3 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Mon, 28 Feb 2022 14:22:38 +0000 (15:22 +0100)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  ARM: pxa: remove Intel Imote2 and Stargate 2 boards
  dt-bindings: soc: samsung: usi: refer to dtschema for children
  ARM: exynos: only do SMC_CMD_CPU1BOOT call on Exynos4

3 years agoMerge tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti...
Arnd Bergmann [Mon, 28 Feb 2022 14:21:37 +0000 (15:21 +0100)]
Merge tag 'ti-k3-dt-for-v5.18' of git://git./linux/kernel/git/ti/linux into arm/dt

TI K3 device tree updates for v5.18

Since (ti-k3-dt-fixes-for-v5.17):
Fixes:
* Cleanups for flash nodes across K3.
* gic-v3 backward compatible registers
* j721s2 interrupt parent fixup for wakeup GPIO

New:
* AM62 SoC and AM62-SK board
* wdt support for am64

* tag 'ti-k3-dt-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: dts: ti: Add support for AM62-SK
  arm64: dts: ti: Introduce base support for AM62x SoC
  dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62
  dt-bindings: arm: ti: Add bindings for AM625 SoC
  arm64: dts: ti: k3-*: Drop address and size cells from flash nodes
  arm64: dts: ti: k3-*: Fix whitespace around flash@0 nodes
  arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs
  arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for wkup_gpioX instances
  arm64: dts: ti: k3-am64: Add ESM0 to device memory map
  arm64: dts: ti: k3-am65*: Remove #address-cells/#size-cells from flash nodes
  arm64: dts: ti: k3-am64-main: Add RTI watchdog nodes
  arm64: dts: ti: k3-j721s2-common-proc-board: Alias console uart to serial2
  arm64: dts: ti: k3-j721s2: Move aliases to board dts

Link: https://lore.kernel.org/r/20220228120711.xdburehxs5gnwxko@capacity
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 28 Feb 2022 14:20:49 +0000 (15:20 +0100)]
Merge tag 'oxnas-arm-soc-dt-for-5.18' of git://git./linux/kernel/git/narmstrong/linux-oxnas into arm/dt

- Add Ethernet node for OX810SE base board

* tag 'oxnas-arm-soc-dt-for-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/narmstrong/linux-oxnas:
  ARM: dts: ox810se: Add Ethernet support

Link: https://lore.kernel.org/r/530fd72c-e28a-4d5e-cb8d-8b3fbc1df89a@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 28 Feb 2022 14:19:54 +0000 (15:19 +0100)]
Merge tag 'aspeed-5.18-devicetree-2' of git://git./linux/kernel/git/joel/bmc into arm/dt

ASPEED device tree updates for 5.18

 - New machines

  * Quanta S6Q AST2600 BMC
  * ASRock ROMED8HM3 AST2500 BMC, a half-width, single-socket Epyc
    server board

 - Facebook's Bletchley has a large update for production hardware

 - Ampere's Mt Jade has a number of updates

 - Small clenaups and additions for Everest, Rainier and Tacoma, and the
   flash layout

* tag 'aspeed-5.18-devicetree-2' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (27 commits)
  ARM: dts: aspeed: p10bmc: Enable ftrace in ramoops buffer
  ARM: dts: aspeed: everest: Add RTC battery gpio name
  ARM: dts: aspeed: rainer: Add RTC battery gpio name
  ARM: dts: aspeed: Add ASRock ROMED8HM3 BMC
  ARM: dts: aspeed: rainier: Remove SPI NOR controllers
  ARM: dts: aspeed: mtjade: Move all adc sensors into iio-hwmon node
  ARM: dts: aspeed: mtjade: Rename GPIO hog nodes to match schema.
  ARM: dts: aspeed: mtjade: Update host0-ready pin
  ARM: dts: aspeed: mtjade: Update rtc-battery-voltage-read-enable pin
  ARM: dts: aspeed: mtjade: Enable secondary flash
  ARM: dts: aspeed: tacoma: Remove CFAM reset GPIO
  ARM: dts: aspeed: rainier: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: everest: Label reset-cause-pinhole GPIO
  ARM: dts: aspeed: tacoma: Clean up KCS nodes
  ARM: dts: aspeed: Add device tree for Quanta S6Q BMC
  ARM: dts: aspeed: bletchley: Cleanup redundant nodes
  ARM: dts: aspeed: bletchley: Enable mdio3 bus
  ARM: dts: aspeed: bletchley: Add INA230 sensor on each sled
  ARM: dts: aspeed: bletchley: Add shunt-resistor for ADM1278
  ARM: dts: aspeed: bletchley: Add interrupt support for sled io expander
  ...

Link: https://lore.kernel.org/r/CACPK8XdUXy5cnEDKmNirtByNMBGCjXwZpdKqJ0ytc0f34vzbBA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 28 Feb 2022 14:18:36 +0000 (15:18 +0100)]
Merge tag 'samsung-dt64-5.18-2' of git://git./linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM64 changes for v5.18, part two

1. Minor fixes and cleanups in newly introduced support for Exynos850.
2. Add basic support for Exynos7885 and  Samsung Galaxy A8 (2018):
   SM-A530F.

* tag 'samsung-dt64-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC
  arm64: dts: exynos: use dedicated wake-up pinctrl compatible in Exynos850
  arm64: dts: exynos: align pinctrl with dtschema in Exynos850
  arm64: dts: exynos: drop incorrectly placed wakeup interrupts in Exynos850

Link: https://lore.kernel.org/r/20220226220116.13452-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Mon, 28 Feb 2022 14:17:57 +0000 (15:17 +0100)]
Merge tag 'samsung-dt-5.18-2' of git://git./linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.18, part two

Various cleanups after introducing DT schema: adding missing HDMI
supplies and aligning PPMU event node names with DT schema.

* tag 'samsung-dt-5.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: dts: exynos: align PPMU event node names with dtschema
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250

Link: https://lore.kernel.org/r/20220226220116.13452-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 28 Feb 2022 14:15:32 +0000 (15:15 +0100)]
Merge tag 'tegra-for-5.18-arm64-dt' of git://git./linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.18-rc1

Based on the for-5.18/dt-bindings changes, this adds various new
features on Tegra234 such as IOMMU, audio, gpio-keys, I2C and PWM
support.

Device trees for 64-bit Tegra boards are now also built with overlay
support enabled, which allows firmware to apply overlays and customize
the DTB that is passed to the kernel.

There are also a couple of cleanups and additions for older devices,
such as USB device mode support on Jetson Xavier NX.

* tag 'tegra-for-5.18-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Drop arm,armv8-pmuv3 compatible string
  arm64: tegra: Enable Jetson Xavier NX USB device mode
  arm64: tegra: Enable UART instance on 40-pin header
  arm64: tegra: Add HDA device tree node for Tegra234
  arm64: tegra: Enable device-tree overlay support
  arm64: tegra: APE sound card for Jetson AGX Orin
  arm64: tegra: Add audio devices on Tegra234
  arm64: tegra: Move audio IOMMU properties to ADMAIF node
  arm64: tegra: Add Tegra234 IOMMUs
  arm64: tegra: Enable gpio-keys on Jetson AGX Orin Developer Kit
  arm64: tegra: Add GPCDMA node for tegra186 and tegra194
  arm64: tegra: Add Tegra234 PWM devicetree nodes
  arm64: tegra: Add Tegra234 I2C devicetree nodes

Link: https://lore.kernel.org/r/20220225164741.1064416-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 28 Feb 2022 14:12:59 +0000 (15:12 +0100)]
Merge tag 'tegra-for-5.18-arm-dt' of git://git./linux/kernel/git/tegra/linux into arm/dt

ARM: tegra: Device tree changes for v5.18-rc1

The changes in this set are cleanups and fixes for 32-bit Tegra device
tree files. With these, some json-schema validation errors are fixed.

* tag 'tegra-for-5.18-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: tamonten: Fix I2C3 pad setting
  ARM: tegra: Fix ethernet node names
  ARM: tegra: paz00: Add MMC aliases
  ARM: tegra: tf700t: Rename DSI node
  ARM: tegra: transformer: Drop reg-shift for Tegra HS UART
  ARM: tegra: asus-tf101: Enable S/PDIF and HDMI audio
  ARM: tegra: Update jedec,lpddr2 revision-id binding

Link: https://lore.kernel.org/r/20220225164741.1064416-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.18-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 28 Feb 2022 14:10:35 +0000 (15:10 +0100)]
Merge tag 'tegra-for-5.18-dt-bindings' of git://git./linux/kernel/git/tegra/linux into arm/dt

dt-bindings: Changes for v5.18-rc1

This contains additions to various DT bindings includes (such as clocks,
resets, power domains, memory controller clients and SMMU stream IDs)
for Tegra234.

* tag 'tegra-for-5.18-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: memory: Add Tegra234 PCIe memory
  dt-bindings: power: Add Tegra234 PCIe power domains
  dt-bindings: Add Tegra234 PCIe clocks and resets
  dt-bindings: Document Tegra234 HDA support
  dt-bindings: Add HDA support for Tegra234
  dt-bindings: Add Tegra234 APE support
  dt-bindings: Add headers for Tegra234 PWM
  dt-bindings: Add headers for Tegra234 I2C

Link: https://lore.kernel.org/r/20220225164741.1064416-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Mon, 28 Feb 2022 14:08:43 +0000 (15:08 +0100)]
Merge tag 'samsung-soc-5.18' of git://git./linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.18

1. Fix hang of secondary CPU bring-up on some of Exynos5420-based
   devices (Secure Monitor Call SMC_CMD_CPU1BOOT should be skipped for
   all Exynos5 devices).
2. Extend Universal Serial Interface DT schema to precisely describe
   children nodes.

* tag 'samsung-soc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  dt-bindings: soc: samsung: usi: refer to dtschema for children
  ARM: exynos: only do SMC_CMD_CPU1BOOT call on Exynos4

Link: https://lore.kernel.org/r/20220226220116.13452-3-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: pxa: remove Intel Imote2 and Stargate 2 boards
Jonathan Cameron [Sun, 27 Feb 2022 13:44:31 +0000 (13:44 +0000)]
ARM: pxa: remove Intel Imote2 and Stargate 2 boards

I have no reason to believe these boards have any more users and I
haven't tested them for several years.  Removing them may simplify
other changes to the various PXA boards people still care about.
The recent conversion of pxa2xx_spi to GPIO descriptors for example
had to update this board despite no one caring or testing.

Great boards that got me started in kernel development, RIP!

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Daniel Mack <daniel@zonque.org>
Cc: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Haojian Zhuang <haojian.zhuang@gmail.com>
Cc: soc@kernel.org
Link: https://lore.kernel.org/r/20220227134431.908998-1-jic23@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'devel-stable' into for-next
Russell King (Oracle) [Mon, 28 Feb 2022 14:04:25 +0000 (14:04 +0000)]
Merge branch 'devel-stable' into for-next

3 years agoMerge branches 'misc' and 'fixes' into for-next
Russell King (Oracle) [Mon, 28 Feb 2022 14:00:07 +0000 (14:00 +0000)]
Merge branches 'misc' and 'fixes' into for-next

3 years agoARM: 9181/1: vdso: remove -nostdlib compiler flag
Masahiro Yamada [Thu, 20 Jan 2022 05:44:18 +0000 (06:44 +0100)]
ARM: 9181/1: vdso: remove -nostdlib compiler flag

The -nostdlib option requests the compiler to not use the standard
system startup files or libraries when linking. It is effective only
when $(CC) is used as a linker driver.

Since commit fe00e50b2db8 ("ARM: 8858/1: vdso: use $(LD) instead of
$(CC) to link VDSO"), $(LD) is directly used, hence -nostdlib is
unneeded.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoARM: 9175/1: Convert to reserve_initrd_mem()
Wang Kefeng [Wed, 22 Dec 2021 13:18:17 +0000 (14:18 +0100)]
ARM: 9175/1: Convert to reserve_initrd_mem()

Covert to the generic reserve_initrd_mem() function.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoARM: 9174/1: amba: Move EXPORT_SYMBOL() closer to definition
Wang Kefeng [Sat, 18 Dec 2021 08:30:42 +0000 (09:30 +0100)]
ARM: 9174/1: amba: Move EXPORT_SYMBOL() closer to definition

Some EXPORT_SYMBOL() is at the end of the function, but some is
at the end of file. For reader sanity and be consistent, move all
EXPORT_SYMBOL() declarations just after the end of the function.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoARM: 9173/1: amba: kill amba_find_match()
Wang Kefeng [Sat, 18 Dec 2021 08:30:41 +0000 (09:30 +0100)]
ARM: 9173/1: amba: kill amba_find_match()

There is no one use amba_find_match(), kill it.

Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoARM: 9172/1: amba: Cleanup amba pclk operation
Wang Kefeng [Sat, 18 Dec 2021 08:30:40 +0000 (09:30 +0100)]
ARM: 9172/1: amba: Cleanup amba pclk operation

There is no user about amba_pclk_[un]prepare() besides pl330.c,
directly use clk_[un]prepare(). After this, all the function about
amba pclk operation, enable, disable, [un]prepare could be killed.

Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
Randy Dunlap [Wed, 23 Feb 2022 19:46:35 +0000 (20:46 +0100)]
ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions

early_param() handlers should return 0 on success.
__setup() handlers should return 1 on success, i.e., the parameter
has been handled. A return of 0 would cause the "option=value" string
to be added to init's environment strings, polluting it.

../arch/arm/mm/mmu.c: In function 'test_early_cachepolicy':
../arch/arm/mm/mmu.c:215:1: error: no return statement in function returning non-void [-Werror=return-type]
../arch/arm/mm/mmu.c: In function 'test_noalign_setup':
../arch/arm/mm/mmu.c:221:1: error: no return statement in function returning non-void [-Werror=return-type]

Fixes: b849a60e0903 ("ARM: make cr_alignment read-only #ifndef CONFIG_CPU_CP15")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: patches@armlinux.org.uk
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
3 years agoMerge tag 'arm-ftrace-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb...
Russell King (Oracle) [Mon, 28 Feb 2022 13:53:48 +0000 (13:53 +0000)]
Merge tag 'arm-ftrace-for-rmk' of git://git./linux/kernel/git/ardb/linux into devel-stable

ARM: ftrace fixes and cleanups

Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy

Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
3 years agoMerge tag 'ti-k3-config-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 28 Feb 2022 13:52:40 +0000 (14:52 +0100)]
Merge tag 'ti-k3-config-for-v5.18' of git://git./linux/kernel/git/ti/linux into arm/defconfig

TI K3 defconfig updates for v5.18

* Enable USB modules

* tag 'ti-k3-config-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: defconfig: Enable USB controller drivers for TI K3 SoC

Link: https://lore.kernel.org/r/20220228120704.346bn5c56e53qylb@finless
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.18-arm64-defconfig' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Mon, 28 Feb 2022 13:51:57 +0000 (14:51 +0100)]
Merge tag 'tegra-for-5.18-arm64-defconfig' of git://git./linux/kernel/git/tegra/linux into arm/defconfig

arm64: tegra: Default configuration updates for v5.18-rc1

Enables the GPCDMA driver that was recently introduced for Tegra186 and
later generation Tegra SoCs.

* tag 'tegra-for-5.18-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: tegra: Enable GPCDMA

Link: https://lore.kernel.org/r/20220225164741.1064416-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agobpf: Remove Lorenz Bauer from L7 BPF maintainers
Lorenz Bauer [Tue, 22 Feb 2022 10:39:24 +0000 (10:39 +0000)]
bpf: Remove Lorenz Bauer from L7 BPF maintainers

I'm leaving my position at Cloudflare and therefore won't have the
necessary time and insight to maintain the sockmap code. It's in
more capable hands with Jakub anyways.

Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220222103925.25802-2-lmb@cloudflare.com
3 years agoMerge tag 'ti-driver-soc-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 28 Feb 2022 12:38:51 +0000 (13:38 +0100)]
Merge tag 'ti-driver-soc-for-v5.18' of git://git./linux/kernel/git/ti/linux into arm/drivers

TI Driver updates for v5.18

* Fixups for k3-ringacc, smartreflex, tisci, wkup_m3_ipc
* Device detection for am62x.

* tag 'ti-driver-soc-for-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo: Add AM62x JTAG ID
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  firmware: ti_sci: inproper error handling of ti_sci_probe
  firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined
  soc: ti: smartreflex: Use platform_get_irq_optional() to get the interrupt
  soc: ti: k3-ringacc: Use devm_bitmap_zalloc() when applicable

Link: https://lore.kernel.org/r/20220228120655.wobd72acngl2bz6k@ecard
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Arnd Bergmann [Mon, 28 Feb 2022 12:37:06 +0000 (13:37 +0100)]
Merge tag 'tegra-for-5.18-soc' of git://git./linux/kernel/git/tegra/linux into arm/drivers

soc/tegra: Changes for v5.18-rc1

This contains the final bit to enable advanced power management on
Tegra20 and Tegra30. It also contains some cleanups and wake event
support on Tegra234.

* tag 'tegra-for-5.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: bpmp: cleanup double word in comment
  soc/tegra: pmc: Add Tegra234 wake events
  soc/tegra: fuse: Explicitly cast to/from __iomem
  soc/tegra: fuse: Update nvmem cell list
  soc/tegra: pmc: Enable core domain support for Tegra20 and Tegra30

Link: https://lore.kernel.org/r/20220225164741.1064416-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agommc: meson: Fix usage of meson_mmc_post_req()
Rong Chen [Wed, 16 Feb 2022 12:42:39 +0000 (20:42 +0800)]
mmc: meson: Fix usage of meson_mmc_post_req()

Currently meson_mmc_post_req() is called in meson_mmc_request() right
after meson_mmc_start_cmd(). This could lead to DMA unmapping before the request
is actually finished.

To fix, don't call meson_mmc_post_req() until meson_mmc_request_done().

Signed-off-by: Rong Chen <rong.chen@amlogic.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Fixes: 79ed05e329c3 ("mmc: meson-gx: add support for descriptor chain mode")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20220216124239.4007667-1-rong.chen@amlogic.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodrm/i915: s/JSP2/ICP2/ PCH
Ville Syrjälä [Thu, 24 Feb 2022 13:21:42 +0000 (15:21 +0200)]
drm/i915: s/JSP2/ICP2/ PCH

This JSP2 PCH actually seems to be some special Apple
specific ICP variant rather than a JSP. Make it so. Or at
least all the references to it seem to be some Apple ICL
machines. Didn't manage to find these PCI IDs in any
public chipset docs unfortunately.

The only thing we're losing here with this JSP->ICP change
is Wa_14011294188, but based on the HSD that isn't actually
needed on any ICP based design (including JSP), only TGP
based stuff (including MCC) really need it. The documented
w/a just never made that distinction because Windows didn't
want to differentiate between JSP and MCC (not sure how
they handle hpd/ddc/etc. then though...).

Cc: stable@vger.kernel.org
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4226
Fixes: 943682e3bd19 ("drm/i915: Introduce Jasper Lake PCH")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220224132142.12927-1-ville.syrjala@linux.intel.com
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Tested-by: Tomas Bzatek <bugs@bzatek.net>
(cherry picked from commit 53581504a8e216d435f114a4f2596ad0dfd902fc)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
3 years agodrm/i915/guc/slpc: Correct the param count for unset param
Vinay Belgaumkar [Wed, 16 Feb 2022 18:15:04 +0000 (10:15 -0800)]
drm/i915/guc/slpc: Correct the param count for unset param

SLPC unset param H2G only needs one parameter - the id of the
param.

Fixes: 025cb07bebfa ("drm/i915/guc/slpc: Cache platform frequency limits")

Suggested-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220216181504.7155-1-vinay.belgaumkar@intel.com
(cherry picked from commit 9648f1c3739505557d94ff749a4f32192ea81fe3)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
3 years agonet: ipa: fix a build dependency
Alex Elder [Fri, 25 Feb 2022 20:15:30 +0000 (14:15 -0600)]
net: ipa: fix a build dependency

An IPA build problem arose in the linux-next tree the other day.
The problem is that a recent commit adds a new dependency on some
code, and the Kconfig file for IPA doesn't reflect that dependency.
As a result, some configurations can fail to build (particularly
when COMPILE_TEST is enabled).

The recent patch adds calls to qmp_get(), qmp_put(), and qmp_send(),
and those are built based on the QCOM_AOSS_QMP config option.  If
that symbol is not defined, stubs are defined, so we just need to
ensure QCOM_AOSS_QMP is compatible with QCOM_IPA, or it's not
defined.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Fixes: 34a081761e4e3 ("net: ipa: request IPA register values be retained")
Signed-off-by: Alex Elder <elder@linaro.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
3 years agoatm: firestream: check the return value of ioremap() in fs_init()
Jia-Ju Bai [Fri, 25 Feb 2022 12:52:30 +0000 (04:52 -0800)]
atm: firestream: check the return value of ioremap() in fs_init()

The function ioremap() in fs_init() can fail, so its return value should
be checked.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
3 years agosoc: ti: k3-socinfo: Add AM62x JTAG ID
Vignesh Raghavendra [Fri, 25 Feb 2022 12:02:35 +0000 (17:32 +0530)]
soc: ti: k3-socinfo: Add AM62x JTAG ID

Add JTAG ID entry to help identify AM62x SoC in kernel.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220225120239.1303821-2-vigneshr@ti.com
3 years agoarm64: dts: ti: Add support for AM62-SK
Nishanth Menon [Fri, 25 Feb 2022 12:02:39 +0000 (17:32 +0530)]
arm64: dts: ti: Add support for AM62-SK

AM62 StarterKit (SK) board is a low cost, small form factor board
designed for TI’s AM625 SoC. It supports the following interfaces:
* 2 GB DDR4 RAM
* x2 Gigabit Ethernet interfaces capable of working in Switch and MAC mode
* x1 HDMI Port with audio + x1 OLDI/LVDS Display interface for Dual Display
* x1 Headphone Jack
* x1 USB2.0 Hub with two Type A host and x1 USB Type-C DRP Port
* x1 UHS-1 capable µSD card slot
* 2.4/5 GHz WLAN + Bluetooth 4.2 through WL1837
* 512 Mbit OSPI flash
* x4 UART through UART-USB bridge
* XDS110 for onboard JTAG debug using USB
* Temperature sensors, user push buttons and LEDs
* 40-pin User Expansion Connector
* 24-pin header for peripherals in MCU island (I2C, UART, SPI, IO)
* 20-pin header for Programmable Realtime Unit (PRU) IO pins
* 15-pin CSI header

Add basic support for AM62-SK.

Schematics: https://www.ti.com/lit/zip/sprr448

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20220225120239.1303821-6-vigneshr@ti.com
3 years agoarm64: dts: ti: Introduce base support for AM62x SoC
Vignesh Raghavendra [Fri, 25 Feb 2022 12:02:38 +0000 (17:32 +0530)]
arm64: dts: ti: Introduce base support for AM62x SoC

This add bare minimum DT for AM62 describing ARM compute clusters, Main,
MCU and Wakeup domain and interconnects, UARTs and I2Cs to enable
booting using ramdisk.

Hierarchy of dts files:
am62.dtsi:
base SoC skeleton which is common across am62xx family of SoCs,
includes am62-main.dtsi, am62-mcu.dtsi and am62-wakeup.dtsi
representing 3 domains and peripherals in each of these domain

am625.dtsi:
describes CPU cluster (Quad A53s). Since, am625 is a current superset
device with all peripherals, am625.dtsi includes am62.dtsi completing
SoC definition.
Individual EVMs using this SoC will just need to include am625.dtsi
thus making things easier for Board and SOM Vendors.
Future derivative SoCs will have their own am62{1-9}{1-9}.dtsi
overriding cluster / peripheral definitions with their own compatibles.

More details about the SoCs can be found in the Technical Reference Manual:
https://www.ti.com/lit/pdf/spruiv7

Co-developed-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Co-developed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20220225120239.1303821-5-vigneshr@ti.com
3 years agodt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62
Suman Anna [Fri, 25 Feb 2022 12:02:37 +0000 (17:32 +0530)]
dt-bindings: pinctrl: k3: Introduce pinmux definitions for AM62

Add pinctrl macros for AM62x SoCs. These macro definitions are similar
to that of previous platforms, but adding new definitions to avoid any
naming confusions in the SoC dts files.

checkpatch insists the following error exists:
ERROR: Macros with complex values should be enclosed in parentheses

However, we do not need parentheses enclosing the values for this
macro as we do intend it to generate two separate values as has been
done for other similar platforms.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220225120239.1303821-4-vigneshr@ti.com
3 years agodt-bindings: arm: ti: Add bindings for AM625 SoC
Nishanth Menon [Fri, 25 Feb 2022 12:02:36 +0000 (17:32 +0530)]
dt-bindings: arm: ti: Add bindings for AM625 SoC

The AM62 SoC family is the follow on AM335x built on K3 Multicore SoC
architecture platform, providing ultra-low-power modes, dual display,
multi-sensor edge compute, security and other BOM-saving integration.
The AM62 SoC targets broad market to enable applications such as
Industrial HMI, PLC/CNC/Robot control, Medical Equipment, Building
Automation, Appliances and more.

Some highlights of this SoC are:

* Quad-Cortex-A53s (running up to 1.4GHz) in a single cluster.
  Pin-to-pin compatible options for single and quad core are available.
* Cortex-M4F for general-purpose or safety usage.
* Dual display support, providing 24-bit RBG parallel interface and
  OLDI/LVDS-4 Lane x2, up to 200MHz pixel clock support for 2K display
  resolution.
* Selectable GPUsupport, up to 8GFLOPS, providing better user experience
  in 3D graphic display case and Android.
* PRU(Programmable Realtime Unit) support for customized programmable
  interfaces/IOs.
* Integrated Giga-bit Ethernet switch supporting up to a total of two
  external ports (TSN capable).
* 9xUARTs, 5xSPI, 6xI2C, 2xUSB2, 3xCAN-FD, 3x eMMC and SD, GPMC for
  NAND/FPGA connection, OSPI memory controller, 3xMcASP for audio,
  1x CSI-RX-4L for Camera, eCAP/eQEP, ePWM, among other peripherals.
* Dedicated Centralized System Controller for Security, Power, and
  Resource Management.
* Multiple low power modes support, ex: Deep sleep,Standby, MCU-only,
  enabling battery powered system design.

AM625 is the first device of the family. Add DT bindings for the same.

More details can be found in the Technical Reference Manual:
https://www.ti.com/lit/pdf/spruiv7

Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Link: https://lore.kernel.org/r/20220225120239.1303821-3-vigneshr@ti.com
3 years agonet: sparx5: Add #include to remove warning
Casper Andersson [Fri, 25 Feb 2022 12:43:27 +0000 (13:43 +0100)]
net: sparx5: Add #include to remove warning

main.h uses NUM_TARGETS from main_regs.h, but
the missing include never causes any errors
because everywhere main.h is (currently)
included, main_regs.h is included before.
But since it is dependent on main_regs.h
it should always be included.

Signed-off-by: Casper Andersson <casper.casan@gmail.com>
Reviewed-by: Joacim Zetterling <joacim.zetterling@westermo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
3 years agonet/smc: Fix cleanup when register ULP fails
Tony Lu [Fri, 25 Feb 2022 06:56:57 +0000 (14:56 +0800)]
net/smc: Fix cleanup when register ULP fails

This patch calls smc_ib_unregister_client() when tcp_register_ulp()
fails, and make sure to clean it up.

Fixes: d7cd421da9da ("net/smc: Introduce TCP ULP support")
Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
3 years agonet: ipv6: ensure we call ipv6_mc_down() at most once
j.nixdorf@avm.de [Thu, 24 Feb 2022 09:06:49 +0000 (10:06 +0100)]
net: ipv6: ensure we call ipv6_mc_down() at most once

There are two reasons for addrconf_notify() to be called with NETDEV_DOWN:
either the network device is actually going down, or IPv6 was disabled
on the interface.

If either of them stays down while the other is toggled, we repeatedly
call the code for NETDEV_DOWN, including ipv6_mc_down(), while never
calling the corresponding ipv6_mc_up() in between. This will cause a
new entry in idev->mc_tomb to be allocated for each multicast group
the interface is subscribed to, which in turn leaks one struct ifmcaddr6
per nontrivial multicast group the interface is subscribed to.

The following reproducer will leak at least $n objects:

ip addr add ff2e::4242/32 dev eth0 autojoin
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
for i in $(seq 1 $n); do
ip link set up eth0; ip link set down eth0
done

Joining groups with IPV6_ADD_MEMBERSHIP (unprivileged) or setting the
sysctl net.ipv6.conf.eth0.forwarding to 1 (=> subscribing to ff02::2)
can also be used to create a nontrivial idev->mc_list, which will the
leak objects with the right up-down-sequence.

Based on both sources for NETDEV_DOWN events the interface IPv6 state
should be considered:

 - not ready if the network interface is not ready OR IPv6 is disabled
   for it
 - ready if the network interface is ready AND IPv6 is enabled for it

The functions ipv6_mc_up() and ipv6_down() should only be run when this
state changes.

Implement this by remembering when the IPv6 state is ready, and only
run ipv6_mc_down() if it actually changed from ready to not ready.

The other direction (not ready -> ready) already works correctly, as:

 - the interface notification triggered codepath for NETDEV_UP /
   NETDEV_CHANGE returns early if ipv6 is disabled, and
 - the disable_ipv6=0 triggered codepath skips fully initializing the
   interface as long as addrconf_link_ready(dev) returns false
 - calling ipv6_mc_up() repeatedly does not leak anything

Fixes: 3ce62a84d53c ("ipv6: exit early in addrconf_notify() if IPv6 is disabled")
Signed-off-by: Johannes Nixdorf <j.nixdorf@avm.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
3 years agoefivars: Respect "block" flag in efivar_entry_set_safe()
Jann Horn [Fri, 18 Feb 2022 18:05:59 +0000 (19:05 +0100)]
efivars: Respect "block" flag in efivar_entry_set_safe()

When the "block" flag is false, the old code would sometimes still call
check_var_size(), which wrongly tells ->query_variable_store() that it can
block.

As far as I can tell, this can't really materialize as a bug at the moment,
because ->query_variable_store only does something on X86 with generic EFI,
and in that configuration we always take the efivar_entry_set_nonblocking()
path.

Fixes: ca0e30dcaa53 ("efi: Add nonblocking option to efi_query_variable_store()")
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20220218180559.1432559-1-jannh@google.com