From 33755559118141ec136027a087487ae4b79659c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20Walstr=C3=B6m?= Date: Fri, 25 Apr 2025 13:18:28 +0200 Subject: [PATCH] imx8mp-evk: Disable mqprio for eth1 The kernel just hang, adding a quirk for it. --- board/common/rootfs/usr/libexec/infix/has-quirk | 12 ++++++++++++ .../common/rootfs/usr/libexec/infix/init.d/25-mqprio | 1 + .../fsl,imx8mp-evk/etc/product/interface-quirks.json | 3 +++ 3 files changed, 16 insertions(+) create mode 100755 board/common/rootfs/usr/libexec/infix/has-quirk diff --git a/board/common/rootfs/usr/libexec/infix/has-quirk b/board/common/rootfs/usr/libexec/infix/has-quirk new file mode 100755 index 00000000..4f9a9bbc --- /dev/null +++ b/board/common/rootfs/usr/libexec/infix/has-quirk @@ -0,0 +1,12 @@ +#!/bin/sh +if [ $# -lt 2 ]; then + echo "usage: $0 " + exit 1 +fi +quirk=$1 +ifname=$2 +if [ -f "/etc/product/interface-quirks.json" ]; then + echo "$(jq -r --arg iface "$ifname" --arg quirk "$quirk" '.[$iface][$quirk] // "false"' /etc/product/interface-quirks.json)" +else + echo "false" +fi diff --git a/board/common/rootfs/usr/libexec/infix/init.d/25-mqprio b/board/common/rootfs/usr/libexec/infix/init.d/25-mqprio index ff1c99ea..d53cc54d 100755 --- a/board/common/rootfs/usr/libexec/infix/init.d/25-mqprio +++ b/board/common/rootfs/usr/libexec/infix/init.d/25-mqprio @@ -43,6 +43,7 @@ while [ "$1" ]; do txqs="$2" shift 2 + [ $(/usr/libexec/infix/has-quirk "broken-mqprio" "$iface") = "true" ] && echo "Skipping $iface, does not support mqprio" && continue [ $txqs -lt 2 ] && continue [ $txqs -gt 8 ] && txqs=8 diff --git a/src/board/freescale-imx8mp-evk/rootfs/usr/share/product/fsl,imx8mp-evk/etc/product/interface-quirks.json b/src/board/freescale-imx8mp-evk/rootfs/usr/share/product/fsl,imx8mp-evk/etc/product/interface-quirks.json index 70098394..f9072113 100644 --- a/src/board/freescale-imx8mp-evk/rootfs/usr/share/product/fsl,imx8mp-evk/etc/product/interface-quirks.json +++ b/src/board/freescale-imx8mp-evk/rootfs/usr/share/product/fsl,imx8mp-evk/etc/product/interface-quirks.json @@ -1,5 +1,8 @@ { "eth0": { "phy-detached-when-down": true + }, + "eth1": { + "broken-mqprio": true } }