Re: [PATCH v4] ath79: add support for Ubiquiti PowerBeam M (XW)

2021-06-13 Thread Joe Ayers
I'm having a bit of heartburn with continuing with these instructions:

> Flashing via stock GUI:
>  - Downgrade to AirOS v5.5.x (latest available is 5.5.10-u2) first (see
>https://openwrt.org/toh/ubiquiti/powerbeam installation instructions)

This issue was resolved with:

https://github.com/openwrt/openwrt/commit/076d58d3440f382c536ea8874f58b0df23c263bc
https://github.com/openwrt/openwrt/commit/6009b3fd586a1fd91400074080afb9545c6cf7e2

A quick test would demonstrate this step is no longer necessary.

regards,
Joe AE6XE
https://www.arednmesh.org

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH v4] ath79: add support for Ubiquiti PowerBeam M (XW)

2021-06-13 Thread Russell Senior
Is it time to apply this?

-- 
Russell Senior
russ...@personaltelco.net

On Fri, Jun 4, 2021 at 5:29 PM Russell Senior  wrote:
>
> This patch adds support for the Ubiquiti PowerBeam M (XW), e.g. PBE-M5-400,
> a 802.11n wireless with a feed+dish form factor. This device was previously
> supported by the ar71xx loco-m-xw firmware.
>
> Specifications:
>  - Atheros AR9342 SoC
>  - 64 MB RAM
>  - 8 MB SPI flash
>  - 1x 10/100 Mbps Ethernet port, 24 Vdc PoE-in
>  - Power and LAN green LEDs
>  - 4x RSSI LEDs (red, orange, green, green)
>  - UART (115200 8N1)
>
> Flashing via stock GUI:
>  - Downgrade to AirOS v5.5.x (latest available is 5.5.10-u2) first (see
>https://openwrt.org/toh/ubiquiti/powerbeam installation instructions)
>  - Upload the factory image via AirOS web GUI.
>
> Flashing via TFTP:
>  - Use a pointy tool (e.g., unbent paperclip) to keep the
>reset button pressed.
>  - Power on the device (keep reset button pressed).
>  - Keep pressing until LEDs flash alternatively LED1+LED3 =>
>LED2+LED4 => LED1+LED3, etc.
>  - Release reset button.
>  - The device starts a TFTP server at 192.168.1.20.
>  - Set a static IP on the computer (e.g., 192.168.1.21/24).
>  - Upload via tftp the factory image:
> $ tftp 192.168.1.20
> tftp> bin
> tftp> trace
> tftp> put 
> openwrt-ath79-generic-x-ubnt_powerbeam-m-xw-squashfs-factory.bin
>
> WARNING: so far, no non-destructive method has been discovered for
> opening the enclosure to reach the serial console. Internal photos
> are available here: https://fcc.io/SWX-NBM5HP
>
> since v1:
>  * renamed from ubnt,powerbeam-m to ubnt,powerbeam-m-xw
> since v2:
>  * removed redundant mtd-mac-address from dts
> since v3:
>  * based on testimony of Joe Ayers :
>   * the bricking problem was resolved by 076d58d3440f (2016-02)
>   * the tftp flashing problem was resolved by 6009b3fd586a (2018-11)
>so, removed the associated warnings.
>
> Signed-off-by: Russell Senior 
> ---
>  .../ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts  | 34 +++
>  .../generic/base-files/etc/board.d/01_leds|  1 +
>  .../generic/base-files/etc/board.d/02_network |  1 +
>  target/linux/ath79/image/generic-ubnt.mk  |  8 +
>  4 files changed, 44 insertions(+)
>  create mode 100644 target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts
>
> diff --git a/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts 
> b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts
> new file mode 100644
> index 00..6db058f887
> --- /dev/null
> +++ b/target/linux/ath79/dts/ar9342_ubnt_powerbeam-m-xw.dts
> @@ -0,0 +1,34 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +
> +#include "ar9342_ubnt_xw.dtsi"
> +
> +/ {
> +   compatible = "ubnt,powerbeam-m-xw", "ubnt,xw", "qca,ar9342";
> +   model = "Ubiquiti PowerBeam M (XW)";
> +};
> +
> + {
> +   status = "okay";
> +
> +   phy-mask = <4>;
> +
> +   phy4: ethernet-phy@4 {
> +   reg = <4>;
> +   };
> +};
> +
> + {
> +   status = "okay";
> +
> +   /* default for ar934x, except for 1000M and 10M */
> +   pll-data = <0x0200 0x0101 0x1313>;
> +
> +   phy-mode = "rgmii-id";
> +   phy-handle = <>;
> +
> +   gmac-config {
> +   device = <>;
> +   rxd-delay = <3>;
> +   rxdv-delay = <3>;
> +   };
> +};
> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/01_leds 
> b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> index 1990353394..35ce90aeb4 100644
> --- a/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> +++ b/target/linux/ath79/generic/base-files/etc/board.d/01_leds
> @@ -383,6 +383,7 @@ ubnt,nanostation-loco-m-xw|\
>  ubnt,nanostation-m|\
>  ubnt,nanostation-m-xw|\
>  ubnt,picostation-m|\
> +ubnt,powerbeam-m-xw|\
>  ubnt,powerbridge-m|\
>  ubnt,rocket-m)
> ucidef_set_rssimon "wlan0" "20" "1"
> diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network 
> b/target/linux/ath79/generic/base-files/etc/board.d/02_network
> index 4133b9d7d3..6e31cdac69 100644
> --- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
> +++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
> @@ -85,6 +85,7 @@ ath79_setup_interfaces()
> ubnt,picostation-m|\
> ubnt,powerbeam-5ac-500|\
> ubnt,powerbeam-5ac-gen2|\
> +   ubnt,powerbeam-m-xw|\
> ubnt,powerbridge-m|\
> ubnt,rocket-m|\
> ubnt,unifiac-lite|\
> diff --git a/target/linux/ath79/image/generic-ubnt.mk 
> b/target/linux/ath79/image/generic-ubnt.mk
> index 733d803d7a..5948e059e8 100644
> --- a/target/linux/ath79/image/generic-ubnt.mk
> +++ b/target/linux/ath79/image/generic-ubnt.mk
> @@ -328,6 +328,14 @@ define Device/ubnt_powerbeam-5ac-gen2
>  endef
>  TARGET_DEVICES += ubnt_powerbeam-5ac-gen2
>
> +define Device/ubnt_powerbeam-m-xw
> +  $(Device/ubnt-xw)
> +  DEVICE_MODEL := PowerBeam M
> +  DEVICE_PACKAGES += rssileds
> +  SUPPORTED_DEVICES += 

mt76x8: Switch to DSA architecture?

2021-06-13 Thread Reto Schneider

Hi all,

I am wondering if anyone is working on porting the mt76x8 targets over 
to DSA. If no such work has yet started - are there any roadblocks 
foreseeable?


I am interested in this happening, and willing to put in effort and/or 
money.


Kind regards,
Reto

ps: My ultimate goal is to get DSA running on a Yocto and MediaTek 
MT7688 based IoT gateway, but I feel like this ML is a good place to get 
started.


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH 3/5] tegra: add support for kernel 5.10

2021-06-13 Thread Tomasz Maciej Nowak
Mark it as testing for now.

Signed-off-by: Tomasz Maciej Nowak 
---
 target/linux/tegra/Makefile   |  2 +-
 target/linux/tegra/config-5.10| 26 +++
 ...enable-front-panel-leds-in-TrimSlice.patch |  4 +--
 3 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/target/linux/tegra/Makefile b/target/linux/tegra/Makefile
index 4d4b0e5ea454..98c1dece16af 100644
--- a/target/linux/tegra/Makefile
+++ b/target/linux/tegra/Makefile
@@ -12,7 +12,7 @@ CPU_TYPE := cortex-a9
 CPU_SUBTYPE := vfpv3-d16
 
 KERNEL_PATCHVER := 5.4
-KERNEL_TESTING_PATCHVER := 5.4
+KERNEL_TESTING_PATCHVER := 5.10
 
 include $(INCLUDE_DIR)/target.mk
 
diff --git a/target/linux/tegra/config-5.10 b/target/linux/tegra/config-5.10
index 521991c64c33..5d13b10d2a15 100644
--- a/target/linux/tegra/config-5.10
+++ b/target/linux/tegra/config-5.10
@@ -2,7 +2,6 @@ CONFIG_AC97_BUS=y
 # CONFIG_AHCI_TEGRA is not set
 CONFIG_ALIGNMENT_TRAP=y
 CONFIG_ARCH_32BIT_OFF_T=y
-CONFIG_ARCH_CLOCKSOURCE_DATA=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_KEEP_MEMBLOCK=y
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
@@ -13,6 +12,8 @@ CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
 CONFIG_ARCH_NR_GPIO=1024
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_TEGRA=y
 # CONFIG_ARCH_TEGRA_114_SOC is not set
@@ -35,7 +36,7 @@ CONFIG_ARM_PATCH_IDIV=y
 CONFIG_ARM_PATCH_PHYS_VIRT=y
 # CONFIG_ARM_PL172_MPMC is not set
 # CONFIG_ARM_SMMU is not set
-CONFIG_ARM_TEGRA20_CPUFREQ=y
+CONFIG_ARM_TEGRA_CPUIDLE=y
 CONFIG_ARM_THUMB=y
 CONFIG_ARM_THUMBEE=y
 CONFIG_ARM_UNWIND=y
@@ -150,6 +151,7 @@ CONFIG_DMADEVICES=y
 CONFIG_DMA_CMA=y
 CONFIG_DMA_ENGINE=y
 CONFIG_DMA_OF=y
+CONFIG_DMA_OPS=y
 CONFIG_DMA_REMAP=y
 CONFIG_DMA_SHARED_BUFFER=y
 CONFIG_DNOTIFY=y
@@ -163,6 +165,7 @@ CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_PANEL=y
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
 CONFIG_DRM_TEGRA=y
 # CONFIG_DRM_TEGRA_DEBUG is not set
 # CONFIG_DRM_TEGRA_STAGING is not set
@@ -188,6 +191,7 @@ CONFIG_FIX_EARLYCON_MEM=y
 CONFIG_FREEZER=y
 CONFIG_FS_IOMAP=y
 CONFIG_FS_MBCACHE=y
+# CONFIG_FW_CACHE is not set
 CONFIG_FW_LOADER_PAGED_BUF=y
 CONFIG_GENERIC_ALLOCATOR=y
 CONFIG_GENERIC_ARCH_TOPOLOGY=y
@@ -196,6 +200,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
 CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
 CONFIG_GENERIC_IDLE_POLL_SETUP=y
 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
 CONFIG_GENERIC_IRQ_MIGRATION=y
@@ -214,6 +219,7 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_GENERIC_STRNCPY_FROM_USER=y
 CONFIG_GENERIC_STRNLEN_USER=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_VDSO_32=y
 CONFIG_GLOB=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_TEGRA=y
@@ -255,8 +261,10 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_IRQ_WORK=y
 CONFIG_JBD2=y
+CONFIG_KCMP=y
 CONFIG_KEYBOARD_ATKBD=y
 CONFIG_LIBFDT=y
+CONFIG_LLD_VERSION=0
 CONFIG_LOCK_DEBUGGING_SUPPORT=y
 CONFIG_LOCK_SPIN_ON_OWNER=y
 CONFIG_LZ4HC_COMPRESS=y
@@ -307,7 +315,6 @@ CONFIG_PAGE_OFFSET=0xC000
 CONFIG_PCI=y
 CONFIG_PCIEAER=y
 CONFIG_PCIEASPM=y
-# CONFIG_PCIEASPM_DEBUG is not set
 CONFIG_PCIEASPM_DEFAULT=y
 # CONFIG_PCIEASPM_PERFORMANCE is not set
 # CONFIG_PCIEASPM_POWERSAVE is not set
@@ -317,6 +324,7 @@ CONFIG_PCIE_PME=y
 CONFIG_PCI_DOMAINS=y
 CONFIG_PCI_DOMAINS_GENERIC=y
 CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_ARCH_FALLBACKS=y
 CONFIG_PCI_MSI_IRQ_DOMAIN=y
 CONFIG_PCI_TEGRA=y
 CONFIG_PERF_USE_VMALLOC=y
@@ -347,7 +355,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=21
 # CONFIG_RCU_EXPERT is not set
 CONFIG_RCU_NEED_SEGCBLIST=y
 CONFIG_RCU_STALL_COMMON=y
-CONFIG_REFCOUNT_FULL=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_I2C=y
 CONFIG_REGMAP_MMIO=y
@@ -367,8 +374,8 @@ CONFIG_RWSEM_SPIN_ON_OWNER=y
 CONFIG_SCSI=y
 # CONFIG_SCSI_LOWLEVEL is not set
 # CONFIG_SCSI_PROC_FS is not set
-# CONFIG_SENSORS_DRIVETEMP is not set
 CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_TEGRA=y
 CONFIG_SERIAL_MCTRL_GPIO=y
 CONFIG_SERIAL_OF_PLATFORM=y
 CONFIG_SERIAL_TEGRA=y
@@ -395,10 +402,15 @@ CONFIG_SND_SOC_AC97_BUS=y
 CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
 CONFIG_SND_SOC_I2C_AND_SPI=y
 CONFIG_SND_SOC_TEGRA=y
+# CONFIG_SND_SOC_TEGRA186_DSPK is not set
 CONFIG_SND_SOC_TEGRA20_AC97=y
 CONFIG_SND_SOC_TEGRA20_DAS=y
 CONFIG_SND_SOC_TEGRA20_I2S=y
 CONFIG_SND_SOC_TEGRA20_SPDIF=y
+# CONFIG_SND_SOC_TEGRA210_ADMAIF is not set
+# CONFIG_SND_SOC_TEGRA210_AHUB is not set
+# CONFIG_SND_SOC_TEGRA210_DMIC is not set
+# CONFIG_SND_SOC_TEGRA210_I2S is not set
 # CONFIG_SND_SOC_TEGRA30_AHUB is not set
 # CONFIG_SND_SOC_TEGRA30_I2S is not set
 # CONFIG_SND_SOC_TEGRA_ALC5632 is not set
@@ -414,6 +426,7 @@ CONFIG_SND_SOC_TLV320AIC23=y
 CONFIG_SND_SOC_TLV320AIC23_I2C=y
 # CONFIG_SND_USB is not set
 CONFIG_SOC_BUS=y
+CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER=y
 CONFIG_SOC_TEGRA_FLOWCTRL=y
 

[PATCH 2/5] tegra: copy files for kernel 5.10

2021-06-13 Thread Tomasz Maciej Nowak
Dumb copy of current kernel 5.4 config and patches.

Signed-off-by: Tomasz Maciej Nowak 
---
 target/linux/tegra/config-5.10| 479 ++
 ...interrupts-due-to-tegra2-silicon-bug.patch |  77 +++
 ...enable-front-panel-leds-in-TrimSlice.patch |  46 ++
 3 files changed, 602 insertions(+)
 create mode 100644 target/linux/tegra/config-5.10
 create mode 100644 
target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch
 create mode 100644 
target/linux/tegra/patches-5.10/101-ARM-dtc-tegra-enable-front-panel-leds-in-TrimSlice.patch

diff --git a/target/linux/tegra/config-5.10 b/target/linux/tegra/config-5.10
new file mode 100644
index ..521991c64c33
--- /dev/null
+++ b/target/linux/tegra/config-5.10
@@ -0,0 +1,479 @@
+CONFIG_AC97_BUS=y
+# CONFIG_AHCI_TEGRA is not set
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_ARCH_32BIT_OFF_T=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V6_V7=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
+CONFIG_ARCH_NR_GPIO=1024
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_TEGRA=y
+# CONFIG_ARCH_TEGRA_114_SOC is not set
+# CONFIG_ARCH_TEGRA_124_SOC is not set
+CONFIG_ARCH_TEGRA_2x_SOC=y
+# CONFIG_ARCH_TEGRA_3x_SOC is not set
+CONFIG_ARM=y
+CONFIG_ARM_AMBA=y
+CONFIG_ARM_CPU_SUSPEND=y
+CONFIG_ARM_CRYPTO=y
+CONFIG_ARM_ERRATA_720789=y
+CONFIG_ARM_ERRATA_754327=y
+CONFIG_ARM_ERRATA_764369=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_HAS_SG_CHAIN=y
+CONFIG_ARM_HEAVY_MB=y
+CONFIG_ARM_L1_CACHE_SHIFT=6
+CONFIG_ARM_L1_CACHE_SHIFT_6=y
+CONFIG_ARM_PATCH_IDIV=y
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+# CONFIG_ARM_PL172_MPMC is not set
+# CONFIG_ARM_SMMU is not set
+CONFIG_ARM_TEGRA20_CPUFREQ=y
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+CONFIG_ARM_UNWIND=y
+CONFIG_ARM_VIRT_EXT=y
+CONFIG_ASN1=y
+CONFIG_ATA=y
+CONFIG_ATAGS=y
+CONFIG_AUTO_ZRELADDR=y
+CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_PM=y
+CONFIG_BLK_SCSI_REQUEST=y
+CONFIG_BOUNCE=y
+CONFIG_CACHE_L2X0=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_CLZ_TAB=y
+CONFIG_CMA=y
+CONFIG_CMA_ALIGNMENT=8
+CONFIG_CMA_AREAS=7
+# CONFIG_CMA_DEBUG is not set
+# CONFIG_CMA_DEBUGFS is not set
+CONFIG_CMA_SIZE_MBYTES=16
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+CONFIG_COMMON_CLK=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_CONTIG_ALLOC=y
+# CONFIG_CPUFREQ_DT is not set
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+# CONFIG_CPU_FREQ_STAT is not set
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_PABRT_V7=y
+CONFIG_CPU_PM=y
+CONFIG_CPU_RMAP=y
+CONFIG_CPU_SPECTRE=y
+CONFIG_CPU_THUMB_CAPABLE=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_V7=y
+CONFIG_CRC16=y
+# CONFIG_CRC32_SARWATE is not set
+CONFIG_CRC32_SLICEBY8=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_AES_ARM=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_LIB_SHA256=y
+CONFIG_CRYPTO_LZ4=y
+CONFIG_CRYPTO_LZ4HC=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_SEQIV=y
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA1_ARM=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA256_ARM=y
+CONFIG_CRYPTO_SHA512_ARM=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_DEBUG_ALIGN_RODATA=y
+CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
+# CONFIG_DEVPORT is not set
+CONFIG_DMADEVICES=y
+CONFIG_DMA_CMA=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_OF=y
+CONFIG_DMA_REMAP=y
+CONFIG_DMA_SHARED_BUFFER=y
+CONFIG_DNOTIFY=y
+CONFIG_DRM=y
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100

[PATCH 5/5] tegra: make target source-only

2021-06-13 Thread Tomasz Maciej Nowak
Looking at OpenWrt downloading statistics this target has non-existent
userbase apart from me. Mark it as source-only to skip the build by
buildbots and not waste further the resources.

Signed-off-by: Tomasz Maciej Nowak 
---

I'll keep this target in good condition in forseable future. If anyone
would suggest to drop the target, I'm not opposed.

 target/linux/tegra/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/tegra/Makefile b/target/linux/tegra/Makefile
index 98c1dece16af..11544261e3e5 100644
--- a/target/linux/tegra/Makefile
+++ b/target/linux/tegra/Makefile
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 ARCH := arm
 BOARD := tegra
 BOARDNAME := NVIDIA Tegra
-FEATURES := audio boot-part display ext4 fpu gpio pci pcie rootfs-part rtc 
squashfs usb
+FEATURES := audio boot-part display ext4 fpu gpio pci pcie rootfs-part rtc 
source-only squashfs usb
 CPU_TYPE := cortex-a9
 CPU_SUBTYPE := vfpv3-d16
 
-- 
2.32.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH 4/5] kernel: move some drm symbols to generic config

2021-06-13 Thread Tomasz Maciej Nowak
These are architecture independent, so move them to generic config.

Signed-off-by: Tomasz Maciej Nowak 
---
 target/linux/at91/sama5/config-default | 1 -
 target/linux/generic/config-5.10   | 2 ++
 target/linux/generic/config-5.4| 1 +
 target/linux/omap/config-5.4   | 1 -
 target/linux/tegra/config-5.10 | 2 --
 target/linux/tegra/config-5.4  | 1 -
 target/linux/zynq/config-5.4   | 1 -
 7 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/target/linux/at91/sama5/config-default 
b/target/linux/at91/sama5/config-default
index 4e4c857c1f23..10d7d4d3b042 100644
--- a/target/linux/at91/sama5/config-default
+++ b/target/linux/at91/sama5/config-default
@@ -172,7 +172,6 @@ CONFIG_DRM_PANEL=y
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 CONFIG_DRM_PANEL_SIMPLE=y
-# CONFIG_DRM_TVE200 is not set
 CONFIG_DTC=y
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10
index 9b64ee14f910..fdebc068357e 100644
--- a/target/linux/generic/config-5.10
+++ b/target/linux/generic/config-5.10
@@ -1507,6 +1507,7 @@ CONFIG_DQL=y
 # CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
 # CONFIG_DRM_PANEL_TPO_TPG110 is not set
 # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
 # CONFIG_DRM_PANFROST is not set
 # CONFIG_DRM_PARADE_PS8622 is not set
 # CONFIG_DRM_PARADE_PS8640 is not set
@@ -1535,6 +1536,7 @@ CONFIG_DQL=y
 # CONFIG_DRM_TOSHIBA_TC358767 is not set
 # CONFIG_DRM_TOSHIBA_TC358768 is not set
 # CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TVE200 is not set
 # CONFIG_DRM_UDL is not set
 # CONFIG_DRM_VBOXVIDEO is not set
 # CONFIG_DRM_VC4_HDMI_CEC is not set
diff --git a/target/linux/generic/config-5.4 b/target/linux/generic/config-5.4
index d0906b52ae45..f5e976a69101 100644
--- a/target/linux/generic/config-5.4
+++ b/target/linux/generic/config-5.4
@@ -1423,6 +1423,7 @@ CONFIG_DQL=y
 # CONFIG_DRM_TI_TFP410 is not set
 # CONFIG_DRM_TOSHIBA_TC358764 is not set
 # CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TVE200 is not set
 # CONFIG_DRM_UDL is not set
 # CONFIG_DRM_VBOXVIDEO is not set
 # CONFIG_DRM_VC4_HDMI_CEC is not set
diff --git a/target/linux/omap/config-5.4 b/target/linux/omap/config-5.4
index 742fdd213edb..f202758c690d 100644
--- a/target/linux/omap/config-5.4
+++ b/target/linux/omap/config-5.4
@@ -228,7 +228,6 @@ CONFIG_DRM_PANEL_SONY_ACX565AKM=y
 CONFIG_DRM_PANEL_TPO_TD028TTEC1=y
 CONFIG_DRM_PANEL_TPO_TD043MTEA1=y
 CONFIG_DRM_TI_TFP410=y
-# CONFIG_DRM_TVE200 is not set
 CONFIG_DTC=y
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
diff --git a/target/linux/tegra/config-5.10 b/target/linux/tegra/config-5.10
index 5d13b10d2a15..e4b1c66f52a5 100644
--- a/target/linux/tegra/config-5.10
+++ b/target/linux/tegra/config-5.10
@@ -165,11 +165,9 @@ CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_PANEL=y
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
 CONFIG_DRM_TEGRA=y
 # CONFIG_DRM_TEGRA_DEBUG is not set
 # CONFIG_DRM_TEGRA_STAGING is not set
-# CONFIG_DRM_TVE200 is not set
 CONFIG_DTC=y
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
diff --git a/target/linux/tegra/config-5.4 b/target/linux/tegra/config-5.4
index 521991c64c33..b487296ce399 100644
--- a/target/linux/tegra/config-5.4
+++ b/target/linux/tegra/config-5.4
@@ -166,7 +166,6 @@ CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
 CONFIG_DRM_TEGRA=y
 # CONFIG_DRM_TEGRA_DEBUG is not set
 # CONFIG_DRM_TEGRA_STAGING is not set
-# CONFIG_DRM_TVE200 is not set
 CONFIG_DTC=y
 CONFIG_EDAC_ATOMIC_SCRUB=y
 CONFIG_EDAC_SUPPORT=y
diff --git a/target/linux/zynq/config-5.4 b/target/linux/zynq/config-5.4
index b25d789db727..bfa5792dda57 100644
--- a/target/linux/zynq/config-5.4
+++ b/target/linux/zynq/config-5.4
@@ -187,7 +187,6 @@ CONFIG_DRM_KMS_HELPER=y
 CONFIG_DRM_PANEL=y
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-# CONFIG_DRM_TVE200 is not set
 CONFIG_DTC=y
 CONFIG_DUMMY_CONSOLE=y
 CONFIG_E1000E=y
-- 
2.32.0


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH 1/5] tegra: refresh kernel config

2021-06-13 Thread Tomasz Maciej Nowak
Recent filtering rules alow to trim the kernel configuration in size, do
that to reduce the diff between current config and upcoming one.

Signed-off-by: Tomasz Maciej Nowak 
---
 target/linux/tegra/config-5.4 | 90 +--
 1 file changed, 2 insertions(+), 88 deletions(-)

diff --git a/target/linux/tegra/config-5.4 b/target/linux/tegra/config-5.4
index 6c9cc1af3c75..521991c64c33 100644
--- a/target/linux/tegra/config-5.4
+++ b/target/linux/tegra/config-5.4
@@ -3,23 +3,6 @@ CONFIG_AC97_BUS=y
 CONFIG_ALIGNMENT_TRAP=y
 CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_ARCH_CLOCKSOURCE_DATA=y
-CONFIG_ARCH_HAS_BINFMT_FLAT=y
-CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
-CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
-CONFIG_ARCH_HAS_KCOV=y
-CONFIG_ARCH_HAS_KEEPINITRD=y
-CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
-CONFIG_ARCH_HAS_PHYS_TO_DMA=y
-CONFIG_ARCH_HAS_RESET_CONTROLLER=y
-CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
-CONFIG_ARCH_HAS_SET_MEMORY=y
-CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
-CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
-CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
-CONFIG_ARCH_HAS_TICK_BROADCAST=y
-CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_KEEP_MEMBLOCK=y
 CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
@@ -30,23 +13,14 @@ CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y
 CONFIG_ARCH_NR_GPIO=1024
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
 CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
-CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
-CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_TEGRA=y
 # CONFIG_ARCH_TEGRA_114_SOC is not set
 # CONFIG_ARCH_TEGRA_124_SOC is not set
 CONFIG_ARCH_TEGRA_2x_SOC=y
 # CONFIG_ARCH_TEGRA_3x_SOC is not set
-CONFIG_ARCH_USE_BUILTIN_BSWAP=y
-CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
-CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
-CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
 CONFIG_ARM=y
 CONFIG_ARM_AMBA=y
-CONFIG_ARM_ARCH_TIMER=y
-CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
 CONFIG_ARM_CPU_SUSPEND=y
 CONFIG_ARM_CRYPTO=y
 CONFIG_ARM_ERRATA_720789=y
@@ -57,12 +31,10 @@ CONFIG_ARM_HAS_SG_CHAIN=y
 CONFIG_ARM_HEAVY_MB=y
 CONFIG_ARM_L1_CACHE_SHIFT=6
 CONFIG_ARM_L1_CACHE_SHIFT_6=y
-# CONFIG_ARM_LPAE is not set
 CONFIG_ARM_PATCH_IDIV=y
 CONFIG_ARM_PATCH_PHYS_VIRT=y
 # CONFIG_ARM_PL172_MPMC is not set
 # CONFIG_ARM_SMMU is not set
-# CONFIG_ARM_SP805_WATCHDOG is not set
 CONFIG_ARM_TEGRA20_CPUFREQ=y
 CONFIG_ARM_THUMB=y
 CONFIG_ARM_THUMBEE=y
@@ -80,7 +52,6 @@ CONFIG_BLK_PM=y
 CONFIG_BLK_SCSI_REQUEST=y
 CONFIG_BOUNCE=y
 CONFIG_CACHE_L2X0=y
-CONFIG_CC_HAS_KASAN_GENERIC=y
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_CLKSRC_MMIO=y
 CONFIG_CLONE_BACKWARDS=y
@@ -102,7 +73,6 @@ CONFIG_CONTIG_ALLOC=y
 CONFIG_CPU_32v6K=y
 CONFIG_CPU_32v7=y
 CONFIG_CPU_ABRT_EV7=y
-# CONFIG_CPU_BPREDICT_DISABLE is not set
 CONFIG_CPU_CACHE_V7=y
 CONFIG_CPU_CACHE_VIPT=y
 CONFIG_CPU_COPY_V6=y
@@ -121,9 +91,6 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
 CONFIG_CPU_FREQ_GOV_USERSPACE=y
 # CONFIG_CPU_FREQ_STAT is not set
 CONFIG_CPU_HAS_ASID=y
-# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND is not set
 CONFIG_CPU_IDLE=y
 CONFIG_CPU_IDLE_GOV_LADDER=y
 CONFIG_CPU_PABRT_V7=y
@@ -178,7 +145,6 @@ CONFIG_CRYPTO_TWOFISH_COMMON=y
 CONFIG_DCACHE_WORD_ACCESS=y
 CONFIG_DEBUG_ALIGN_RODATA=y
 CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S"
-# CONFIG_DEBUG_USER is not set
 # CONFIG_DEVPORT is not set
 CONFIG_DMADEVICES=y
 CONFIG_DMA_CMA=y
@@ -193,13 +159,10 @@ CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_FBDEV_OVERALLOC=100
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_KMS_HELPER=y
-# CONFIG_DRM_MCDE is not set
 CONFIG_DRM_MIPI_DSI=y
 CONFIG_DRM_PANEL=y
 CONFIG_DRM_PANEL_BRIDGE=y
 CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
-# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
 CONFIG_DRM_TEGRA=y
 # CONFIG_DRM_TEGRA_DEBUG is not set
 # CONFIG_DRM_TEGRA_STAGING is not set
@@ -260,50 +223,7 @@ CONFIG_HARDIRQS_SW_RESEND=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
-CONFIG_HAVE_ARCH_AUDITSYSCALL=y
-CONFIG_HAVE_ARCH_BITREVERSE=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_HAVE_ARCH_PFN_VALID=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_ARM_ARCH_TIMER=y
-CONFIG_HAVE_ARM_SCU=y
-CONFIG_HAVE_ARM_SMCCC=y
-CONFIG_HAVE_ARM_TWD=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_CLK_PREPARE=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_COPY_THREAD_TLS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-CONFIG_HAVE_DMA_CONTIGUOUS=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_HAVE_EBPF_JIT=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_IDE=y
-CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
-CONFIG_HAVE_MOD_ARCH_SPECIFIC=y

[sdwalker/sdwalker.github.io] 2a4d45: This week's update

2021-06-13 Thread Stephen Walker via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
  Branch: refs/heads/master
  Home:   https://github.com/sdwalker/sdwalker.github.io
  Commit: 2a4d45e714f4f2b513f86853ef92f30dc747a0f6
  
https://github.com/sdwalker/sdwalker.github.io/commit/2a4d45e714f4f2b513f86853ef92f30dc747a0f6
  Author: Stephen Walker 
  Date:   2021-06-13 (Sun, 13 Jun 2021)

  Changed paths:
M uscan/index-18.06.html
M uscan/index-19.07.html
M uscan/index.html

  Log Message:
  ---
  This week's update



--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] mt76x8: Onion Omega2+ reboot problem [Was: mt76x8: Strange GPIO numbering on Onion Omega2+]

2021-06-13 Thread David Bauer
Hi Lukas,

On 6/13/21 11:43 AM, Lukas Zeller wrote:
> But I was curious to learn what the feature does, and had a look at spi-nor.c 
> (spi_nor/core.c). If I haven't misread the code, it restores the addressing 
> mode to 3 byte at shutdown. This means an orderly reboot will work, but a 
> unexpected SoC reset w/o power cycle will still hang. So if the use case is 
> something that *must* reboot after any kind of reset (e.g. HW watchdog) this 
> flag cannot fix the (HW) problem.

Note that in case of OpenWrt, there if 
481-mtd-spi-nor-rework-broken-flash-reset-support.patch,
which causes the flash to restore to 3 byte addressing after each operation.

> This implementation makes it only break when a kernel panic happens during 
> flash operation on 16M+
areas.

So it should be "good-enough" for most use-cases.

Best
David

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] mt76x8: Onion Omega2+ reboot problem [Was: mt76x8: Strange GPIO numbering on Onion Omega2+]

2021-06-13 Thread Lukas Zeller
Hi Martin,

> On 12 Jun 2021, at 22:02, Martin Blumenstingl 
>  wrote:
> There is a "broken-flash-reset" property which probably is missing in
> the Omega2+ .dts(i) files

Thanks a lot for the hint!

> If you have already considered this and my comment does not apply then
> please ignore it (I am not familiar with any of the Ralink/Mediatek
> SoCs, I just recognized this problem description)

I was not aware and it does apply to the MT7688 the way it is wired in the 
Omega2+ and indeed, it is not in the Omega2+ DTS for 21.02 yet. I'll suggest to 
Onion to add it.

But I was curious to learn what the feature does, and had a look at spi-nor.c 
(spi_nor/core.c). If I haven't misread the code, it restores the addressing 
mode to 3 byte at shutdown. This means an orderly reboot will work, but a 
unexpected SoC reset w/o power cycle will still hang. So if the use case is 
something that *must* reboot after any kind of reset (e.g. HW watchdog) this 
flag cannot fix the (HW) problem.

Best Regards
Lukas

> [0] 
> https://elixir.bootlin.com/linux/v5.4.48/source/Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt#L72



signature.asc
Description: Message signed with OpenPGP
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


[PATCH v2] fstools: blockd Check /tmp/run/blockd for existing mounts

2021-06-13 Thread David Adair via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
Currently volume names can not match rootfs files/directories
so LV names like "home" "usr" or "www" are not allowed.

This changes the check for existing mount points to
examine /tmp/run/blockd/ instead of /.

It also checks that a link is present at
/mnt/ and skips the request if it is missing
e.g. the "map" does not support the requested "key".

This aligns the mount logic to match the automount
daemon indirect.c logic from kernel.org.
 - If mountpoint exist and is not a zombie return success.
 - If mountpoint is a zombie delete it.
 - If map is missing or mount fails return failure.

This greatly simplifies hotplug-remove since we leave
devices alone once link is removed.  It also fixes most
instances of poision directories remaining in automount
dir and causing "too many symlinks" errors.

Signed-off-by: David Adair 
---
 blockd.c | 25 ++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/blockd.c b/blockd.c
index d6dfeb8..6024c60 100644
--- a/blockd.c
+++ b/blockd.c
@@ -41,6 +41,7 @@ struct device {
 
 static struct uloop_fd fd_autofs_read;
 static int fd_autofs_write = 0;
+static struct stat autofs_mp_stat;
 static struct ubus_auto_conn conn;
 struct blob_buf bb = { 0 };
 
@@ -501,8 +502,10 @@ static void autofs_read_handler(struct uloop_fd *u, 
unsigned int events)
 {
union autofs_v5_packet_union pktu;
const struct autofs_v5_packet *pkt;
-   int cmd = AUTOFS_IOC_READY;
struct stat st;
+   struct device *device;
+   char *mnt;
+   int cmd = AUTOFS_IOC_READY;
 
while (read(u->fd, , sizeof(pktu)) == -1) {
if (errno != EINTR)
@@ -517,9 +520,24 @@ static void autofs_read_handler(struct uloop_fd *u, 
unsigned int events)
 
pkt = _indirect;
 ULOG_ERR("kernel is requesting a mount -> %s\n", pkt->name);
-   if (lstat(pkt->name, ) == -1)
-   if (block("autofs", "add", (char *)pkt->name))
+   /*
+* if MP exists send "ready"
+*   second part of check detects zombie mounts --
+*   valid target should have target dev not autofs.
+*/
+   if (asprintf(, "%s%s", AUTOFS_MOUNT_PATH, pkt->name) == -1)
+   exit(ENOMEM);
+   if ((lstat(mnt, ) == -1) ||
+   (S_ISDIR(st.st_mode) && st.st_dev == autofs_mp_stat.st_dev)) {
+   rmdir(mnt);
+   device = vlist_find(, pkt->name, device, node);
+   /* Map doesn't exist or mount fails send "fail" */
+   if (!device || !device->target ||
+   lstat(device->target, ) || ! S_ISLNK(st.st_mode) ||
+   block("autofs", "add", (char *)pkt->name))
cmd = AUTOFS_IOC_FAIL;
+   }
+   free(mnt);
 
if (ioctl(fd_autofs_write, cmd, pkt->wait_queue_token) < 0)
ULOG_ERR("failed to report back to kernel\n");
@@ -562,6 +580,7 @@ static int autofs_mount(void)
return -1;
}
close(pipefd[1]);
+   stat(AUTOFS_MOUNT_PATH, _mp_stat);
fd_autofs_read.fd = pipefd[0];
fd_autofs_read.cb = autofs_read_handler;
uloop_fd_add(_autofs_read, ULOOP_READ);
-- 
2.27.0




--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: Re: [PATCH] fstools: blockd Check /tmp/run/blockd for existing mounts

2021-06-13 Thread David Adair via openwrt-devel
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.--- Begin Message ---
+   sprintf(mnt, "/mnt/%s", pkt->name);

This was incorrect.  Blockd supports arbitrary mount points so need to use 
device->target.


--- End Message ---
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel