From patchwork Sat Jul 25 12:45:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kevin 'ldir' Darbyshire-Bryant X-Patchwork-Id: 1336234 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.openwrt.org (client-ip=2001:8b0:10b:1231::1; helo=merlin.infradead.org; envelope-from=openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=darbyshire-bryant.me.uk Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=merlin.20170209 header.b=V+CmheAW; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=darbyshire-bryant.me.uk header.i=@darbyshire-bryant.me.uk header.a=rsa-sha256 header.s=google header.b=H4UZ2LMC; dkim-atps=neutral Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:8b0:10b:1231::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BDQpL0S71z9sRN for ; Sat, 25 Jul 2020 22:47:53 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To:From: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=LUTvKjNy025Nro3dX5AN5rTKXn9T3WW2ZjmmiVUaNWg=; b=V+CmheAWMlKWp95cbcEU7JeVZr aMatddWkFQIAZI/vn8gV0jrZRDOAvEzeLOBU7+NbsVSYX2GW/LrB1U1JUoDO7j9TfKjv9dtESz2cS J9IgLvvCWW7rkKwPzKMu/tBQClXlFBApjm0C6F6g6VgJM7f44m0eUwhf7cXK/Y+ZZEagbNTibGvye Xj5ky7hyVHofcfivuGvMdJf6CMZBT4kF5CmKVpyoIhKswLBNLTDC/mfdUTg+Lb3Z2bslgcOAqf/77 NHIcX+89V4DKYcbadCr9Jr9NmC+TpU2SPNsQTGy9aRuzywkrLk9zSxIibg+L7XMd/bJxfIkjtXoEO GpVFFObA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jzJZD-0006oa-D6; Sat, 25 Jul 2020 12:46:19 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jzJZA-0006oF-BL for openwrt-devel@lists.openwrt.org; Sat, 25 Jul 2020 12:46:18 +0000 Received: by mail-wr1-x441.google.com with SMTP id r12so10564625wrj.13 for ; Sat, 25 Jul 2020 05:46:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=darbyshire-bryant.me.uk; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4L/UhVPXN+bRGHwdIyKs7XZs2B7uH5cNIQJckq3ldF0=; b=H4UZ2LMCkgkbhTMQzhQT2lqO83CmZn7Qdi6VKHqM5B3SxdFOaFhhp+bRjC42T3zuHs iw7aIE2Fz8B/m8iq+4JHFhigVMcANMmsL7dYYeaQOZTCBzaKDDH9Gcie5yTcHx+jKfJT KLArsDRtP/reSVZUquh5OOEdi5NUyyz8/1Odw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4L/UhVPXN+bRGHwdIyKs7XZs2B7uH5cNIQJckq3ldF0=; b=Icw0hDwSZAyCVcXdYcwVeUn4KXZSVdvM+VFdGDZRYSPcxSKj7PA3PtAdrvBQVkBhQ+ NoSNHV17JfYLL1tbhOtGsMQHT9BSyvJ6RaY77rF8ImjlbbcrtMMN7OA680bu9gdV14/y bzhfqoqOeSG9X+4nsQiqmjDtceQvY/EZhMPUjhmZzhQsgdDxH/vnmtPa7afhMXwn6DiU fnVqAM1wQbg6txKe/xnz/uBsRV360Dr1qPCcdAJEl2eum0YlVPZpBalEqHfp7O67NZQH YeG/ldyjSZ67voKOu4vHoXFRrfcmfEeq62n6MqEN4RsGDaTsI6oVPvhzSRbRigKvnU82 72pA== X-Gm-Message-State: AOAM532bhOqbnB2NXsu4xRyFoQFsXeTF720lh3J3tDWEpPZwbqGTu+/j SdZRsVNpERrNux6dBIvoK4DvfJis3fs= X-Google-Smtp-Source: ABdhPJzmkjeu1oWjL+kaj8vkKRkVauNkVy5KArl7ET8BITWCJwuZBxorJViTTpcEw3DTkZ93teD4jQ== X-Received: by 2002:a5d:6a4a:: with SMTP id t10mr13316492wrw.360.1595681172369; Sat, 25 Jul 2020 05:46:12 -0700 (PDT) Received: from Kevins-MBP.lan.darbyshire-bryant.me.uk ([2a02:c7f:1227:c00::dc83]) by smtp.gmail.com with ESMTPSA id z207sm10719034wmc.2.2020.07.25.05.46.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 25 Jul 2020 05:46:11 -0700 (PDT) From: Kevin Darbyshire-Bryant To: openwrt-devel@lists.openwrt.org Subject: [PATCH] kernel: bump 5.4 to 5.4.53 Date: Sat, 25 Jul 2020 13:45:59 +0100 Message-Id: <20200725124600.16470-1-ldir@darbyshire-bryant.me.uk> X-Mailer: git-send-email 2.24.3 (Apple Git-128) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200725_084616_555832_98205277 X-CRM114-Status: GOOD ( 21.19 ) X-Spam-Score: -0.2 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2a00:1450:4864:20:0:0:0:441 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Darbyshire-Bryant Sender: "openwrt-devel" Errors-To: openwrt-devel-bounces+incoming=patchwork.ozlabs.org@lists.openwrt.org Refresh patches. Remove upstreamed patches: bcm63xx/patches-5.4/022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch bcm63xx/patches-5.4/024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch Drop the cake hack as upstream have backported the changes themselves, but in a slightly different way. generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Signed-off-by: Kevin Darbyshire-Bryant Tested-by: Stijn Segers Tested-by: Stefan Lippers-Hollmann [ath79/tl-wdr3600; ipq806x/nbg6817; ipq40xx/map-ac2200] --- include/kernel-version.mk | 4 +- .../910-unaligned_access_hacks.patch | 2 +- ...ce-quirks-for-Freeway-Airmouse-T3-an.patch | 4 +- .../905-BCM53573-minor-hacks.patch | 2 +- ...-brcmnand-improve-hamming-oob-layout.patch | 2 +- ...cmnand-correctly-verify-erased-pages.patch | 63 ---------- ...-mtd-rawnand-brcmnand-fix-CS0-layout.patch | 34 ------ ...antage-of-skb-hash-where-appropriate.patch | 2 +- ...ve-fwnode-parsing-into-sfp-bus-layer.patch | 2 +- ....5-net-sfp-rework-upstream-interface.patch | 12 +- ...fix-sfp_bus_put-kernel-documentation.patch | 2 +- ...et-sfp-add-support-for-module-quirks.patch | 43 ++----- ...sfp-add-some-quirks-for-GPON-modules.patch | 6 +- ...protocol-handling-in-the-presence-of.patch | 114 ------------------ ...ng-with-source-address-failed-policy.patch | 22 ++-- ...ncomplete-100BASE-FX-and-100BASE-LX-.patch | 2 +- ...nterface-mode-from-ethtool-link-mode.patch | 4 +- ...p-add-more-extended-compliance-codes.patch | 8 +- ...le-start-stop-upstream-notifications.patch | 2 +- ...y-MAC-configuration-for-copper-SFP-m.patch | 8 +- ...ma-calculate-the-real-count-for-slav.patch | 4 +- ...ma-Add-eDMA-support-for-QorIQ-LS1028.patch | 4 +- ...on-build_skb-in-mvneta_rx_swbm-poll-.patch | 2 +- ...013-net-mvneta-add-basic-XDP-support.patch | 2 +- ...DP-support-if-sw-bm-is-used-as-fallb.patch | 6 +- ...-mvebu-armada-38x-enable-libata-leds.patch | 2 +- .../0069-awake-rt305x-dwc2-controller.patch | 2 +- 27 files changed, 66 insertions(+), 294 deletions(-) delete mode 100644 target/linux/bcm63xx/patches-5.4/022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch delete mode 100644 target/linux/bcm63xx/patches-5.4/024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch delete mode 100644 target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 8bfce3ecfe..08bde0efc6 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .187 LINUX_VERSION-4.19 = .131 -LINUX_VERSION-5.4 = .52 +LINUX_VERSION-5.4 = .53 LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd LINUX_KERNEL_HASH-4.19.131 = 19dfb9f6cc4ba30104b65dcce7d78240a4ae188cb366747d5f8eae35e98964ba -LINUX_KERNEL_HASH-5.4.52 = 037efa531120b1c20ff55e78cd3e17288b1804b3a57dc31de760837b3bea5d3a +LINUX_KERNEL_HASH-5.4.53 = faa7b6f99220d5726f0eaee74a6394f0a3b89be1a75254f3804630211f3d6d21 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch index 053b72023f..da6f331f85 100644 --- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch @@ -556,7 +556,7 @@ #include --- a/include/net/inet_ecn.h +++ b/include/net/inet_ecn.h -@@ -139,9 +139,9 @@ static inline int IP6_ECN_set_ce(struct +@@ -140,9 +140,9 @@ static inline int IP6_ECN_set_ce(struct if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) return 0; diff --git a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 26a54c22c9..f265beb34e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0283-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1234,6 +1237,9 @@ +@@ -1237,6 +1240,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -178,6 +179,7 @@ static const struct hid_device_id hid_qu +@@ -179,6 +180,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, diff --git a/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch b/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch index e3806b4e72..3b0a3323af 100644 --- a/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch +++ b/target/linux/bcm53xx/patches-5.4/905-BCM53573-minor-hacks.patch @@ -61,7 +61,7 @@ Signed-off-by: Rafał Miłecki #include #include #include -@@ -899,6 +900,16 @@ static void arch_timer_of_configure_rate +@@ -910,6 +911,16 @@ static void arch_timer_of_configure_rate if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) arch_timer_rate = rate; diff --git a/target/linux/bcm63xx/patches-5.4/021-v5.8-mtd-rawnand-brcmnand-improve-hamming-oob-layout.patch b/target/linux/bcm63xx/patches-5.4/021-v5.8-mtd-rawnand-brcmnand-improve-hamming-oob-layout.patch index 1df2411035..78fa1b39e3 100644 --- a/target/linux/bcm63xx/patches-5.4/021-v5.8-mtd-rawnand-brcmnand-improve-hamming-oob-layout.patch +++ b/target/linux/bcm63xx/patches-5.4/021-v5.8-mtd-rawnand-brcmnand-improve-hamming-oob-layout.patch @@ -40,7 +40,7 @@ Link: https://lore.kernel.org/linux-mtd/20200512075733.745374-3-noltari@gmail.co --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -1003,33 +1003,30 @@ static int brcmnand_hamming_ooblayout_fr +@@ -1004,33 +1004,30 @@ static int brcmnand_hamming_ooblayout_fr struct brcmnand_cfg *cfg = &host->hwcfg; int sas = cfg->spare_area_size << cfg->sector_size_1k; int sectors = cfg->page_size / (512 << cfg->sector_size_1k); diff --git a/target/linux/bcm63xx/patches-5.4/022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch b/target/linux/bcm63xx/patches-5.4/022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch deleted file mode 100644 index e8a9f14881..0000000000 --- a/target/linux/bcm63xx/patches-5.4/022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch +++ /dev/null @@ -1,63 +0,0 @@ -From dcb351c03f2fa6a599de1061b174167e03ee312b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Tue, 12 May 2020 10:24:51 +0200 -Subject: [PATCH] mtd: rawnand: brcmnand: correctly verify erased pages -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The current code checks that the whole OOB area is erased. -This is a problem when JFFS2 cleanmarkers are added to the OOB, since it will -fail due to the usable OOB bytes not being 0xff. -Correct this by only checking that data and ECC bytes aren't 0xff. - -Fixes: 02b88eea9f9c ("mtd: brcmnand: Add check for erased page bitflips") -Signed-off-by: Álvaro Fernández Rojas -Signed-off-by: Miquel Raynal -Link: https://lore.kernel.org/linux-mtd/20200512082451.771212-1-noltari@gmail.com ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -1787,28 +1787,31 @@ static int brcmnand_read_by_pio(struct m - static int brcmstb_nand_verify_erased_page(struct mtd_info *mtd, - struct nand_chip *chip, void *buf, u64 addr) - { -- int i, sas; -- void *oob = chip->oob_poi; -+ struct mtd_oob_region ecc; -+ int i; - int bitflips = 0; - int page = addr >> chip->page_shift; - int ret; -+ void *ecc_bytes; - void *ecc_chunk; - - if (!buf) - buf = nand_get_data_buf(chip); - -- sas = mtd->oobsize / chip->ecc.steps; -- - /* read without ecc for verification */ - ret = chip->ecc.read_page_raw(chip, buf, true, page); - if (ret) - return ret; - -- for (i = 0; i < chip->ecc.steps; i++, oob += sas) { -+ for (i = 0; i < chip->ecc.steps; i++) { - ecc_chunk = buf + chip->ecc.size * i; -- ret = nand_check_erased_ecc_chunk(ecc_chunk, -- chip->ecc.size, -- oob, sas, NULL, 0, -+ -+ mtd_ooblayout_ecc(mtd, i, &ecc); -+ ecc_bytes = chip->oob_poi + ecc.offset; -+ -+ ret = nand_check_erased_ecc_chunk(ecc_chunk, chip->ecc.size, -+ ecc_bytes, ecc.length, -+ NULL, 0, - chip->ecc.strength); - if (ret < 0) - return ret; diff --git a/target/linux/bcm63xx/patches-5.4/024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch b/target/linux/bcm63xx/patches-5.4/024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch deleted file mode 100644 index 0eeefe12de..0000000000 --- a/target/linux/bcm63xx/patches-5.4/024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3d3fb3c5be9ce07fa85d8f67fb3922e4613b955b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Fri, 22 May 2020 14:15:21 +0200 -Subject: [PATCH] mtd: rawnand: brcmnand: fix CS0 layout -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Only v3.3-v5.0 have a different CS0 layout. -Controllers before v3.3 use the same layout for every CS. - -Fixes: 27c5b17cd1b1 ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller") -Signed-off-by: Álvaro Fernández Rojas -Acked-by: Florian Fainelli -Signed-off-by: Miquel Raynal -Link: https://lore.kernel.org/linux-mtd/20200522121524.4161539-3-noltari@gmail.com ---- - drivers/mtd/nand/raw/brcmnand/brcmnand.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c -+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -537,8 +537,9 @@ static int brcmnand_revision_init(struct - } else { - ctrl->cs_offsets = brcmnand_cs_offsets; - -- /* v5.0 and earlier has a different CS0 offset layout */ -- if (ctrl->nand_version <= 0x0500) -+ /* v3.3-5.0 have a different CS0 offset layout */ -+ if (ctrl->nand_version >= 0x0303 && -+ ctrl->nand_version <= 0x0500) - ctrl->cs0_offsets = brcmnand_cs_offsets_cs0; - } - diff --git a/target/linux/generic/backport-5.4/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch b/target/linux/generic/backport-5.4/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch index 12962135d0..a4981acdee 100644 --- a/target/linux/generic/backport-5.4/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch +++ b/target/linux/generic/backport-5.4/395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch @@ -67,7 +67,7 @@ Signed-off-by: Kevin Darbyshire-Bryant + bool rev = !skb->_nfct, upd = false; + __be32 ip; - if (tc_skb_protocol(skb) != htons(ETH_P_IP)) + if (skb_protocol(skb, true) != htons(ETH_P_IP)) - return; + return false; diff --git a/target/linux/generic/backport-5.4/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch b/target/linux/generic/backport-5.4/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch index 858c584c05..92fe224873 100644 --- a/target/linux/generic/backport-5.4/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch +++ b/target/linux/generic/backport-5.4/716-v5.4-net-sfp-move-fwnode-parsing-into-sfp-bus-layer.patch @@ -59,7 +59,7 @@ Signed-off-by: Russell King #include #include -@@ -445,45 +446,63 @@ static void sfp_upstream_clear(struct sf +@@ -520,45 +521,63 @@ static void sfp_upstream_clear(struct sf } /** diff --git a/target/linux/generic/backport-5.4/717-v5.5-net-sfp-rework-upstream-interface.patch b/target/linux/generic/backport-5.4/717-v5.5-net-sfp-rework-upstream-interface.patch index f3454851bf..9175f2557a 100644 --- a/target/linux/generic/backport-5.4/717-v5.5-net-sfp-rework-upstream-interface.patch +++ b/target/linux/generic/backport-5.4/717-v5.5-net-sfp-rework-upstream-interface.patch @@ -53,7 +53,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -329,10 +329,19 @@ static void sfp_bus_release(struct kref +@@ -404,10 +404,19 @@ static void sfp_bus_release(struct kref kfree(bus); } @@ -75,7 +75,7 @@ Signed-off-by: Russell King static int sfp_register_bus(struct sfp_bus *bus) { -@@ -348,11 +357,11 @@ static int sfp_register_bus(struct sfp_b +@@ -423,11 +432,11 @@ static int sfp_register_bus(struct sfp_b return ret; } } @@ -88,7 +88,7 @@ Signed-off-by: Russell King return 0; } -@@ -446,13 +455,12 @@ static void sfp_upstream_clear(struct sf +@@ -521,13 +530,12 @@ static void sfp_upstream_clear(struct sf } /** @@ -106,7 +106,7 @@ Signed-off-by: Russell King * * Returns: on success, a pointer to the sfp_bus structure, * %NULL if no SFP is specified, -@@ -462,9 +470,7 @@ static void sfp_upstream_clear(struct sf +@@ -537,9 +545,7 @@ static void sfp_upstream_clear(struct sf * %-ENOMEM if we failed to allocate the bus. * an error from the upstream's connect_phy() method. */ @@ -117,7 +117,7 @@ Signed-off-by: Russell King { struct fwnode_reference_args ref; struct sfp_bus *bus; -@@ -482,7 +488,39 @@ struct sfp_bus *sfp_register_upstream_no +@@ -557,7 +563,39 @@ struct sfp_bus *sfp_register_upstream_no if (!bus) return ERR_PTR(-ENOMEM); @@ -157,7 +157,7 @@ Signed-off-by: Russell King bus->upstream_ops = ops; bus->upstream = upstream; -@@ -495,33 +533,33 @@ struct sfp_bus *sfp_register_upstream_no +@@ -570,33 +608,33 @@ struct sfp_bus *sfp_register_upstream_no } rtnl_unlock(); diff --git a/target/linux/generic/backport-5.4/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch b/target/linux/generic/backport-5.4/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch index 13dc5216f9..c7bfd8a304 100644 --- a/target/linux/generic/backport-5.4/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch +++ b/target/linux/generic/backport-5.4/718-v5.5-net-sfp-fix-sfp_bus_put-kernel-documentation.patch @@ -16,7 +16,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -331,7 +331,7 @@ static void sfp_bus_release(struct kref +@@ -406,7 +406,7 @@ static void sfp_bus_release(struct kref /** * sfp_bus_put() - put a reference on the &struct sfp_bus diff --git a/target/linux/generic/backport-5.4/742-v5.5-net-sfp-add-support-for-module-quirks.patch b/target/linux/generic/backport-5.4/742-v5.5-net-sfp-add-support-for-module-quirks.patch index 46c56a655a..ed5ea29a1a 100644 --- a/target/linux/generic/backport-5.4/742-v5.5-net-sfp-add-support-for-module-quirks.patch +++ b/target/linux/generic/backport-5.4/742-v5.5-net-sfp-add-support-for-module-quirks.patch @@ -13,9 +13,9 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -10,6 +10,12 @@ - - #include "sfp.h" +@@ -16,6 +16,12 @@ struct sfp_quirk { + void (*modes)(const struct sfp_eeprom_id *id, unsigned long *modes); + }; +struct sfp_quirk { + const char *vendor; @@ -26,17 +26,9 @@ Signed-off-by: Russell King /** * struct sfp_bus - internal representation of a sfp bus */ -@@ -22,6 +28,7 @@ struct sfp_bus { - const struct sfp_socket_ops *socket_ops; - struct device *sfp_dev; - struct sfp *sfp; -+ const struct sfp_quirk *sfp_quirk; - - const struct sfp_upstream_ops *upstream_ops; - void *upstream; -@@ -31,6 +38,46 @@ struct sfp_bus { - bool started; - }; +@@ -178,6 +184,46 @@ int sfp_parse_port(struct sfp_bus *bus, + } + EXPORT_SYMBOL_GPL(sfp_parse_port); +static const struct sfp_quirk sfp_quirks[] = { +}; @@ -79,11 +71,11 @@ Signed-off-by: Russell King + return NULL; +} /** - * sfp_parse_port() - Parse the EEPROM base ID, setting the port type + * sfp_parse_support() - Parse the eeprom id for supported link modes * @bus: a pointer to the &struct sfp_bus structure for the sfp module -@@ -234,6 +281,9 @@ void sfp_parse_support(struct sfp_bus *b - phylink_set(modes, 1000baseX_Full); - } +@@ -309,6 +355,9 @@ void sfp_parse_support(struct sfp_bus *b + if (bus->sfp_quirk) + bus->sfp_quirk->modes(id, modes); + if (bus->sfp_quirk) + bus->sfp_quirk->modes(id, modes); @@ -91,21 +83,12 @@ Signed-off-by: Russell King bitmap_or(support, support, modes, __ETHTOOL_LINK_MODE_MASK_NBITS); phylink_set(support, Autoneg); -@@ -610,6 +660,8 @@ int sfp_module_insert(struct sfp_bus *bu - const struct sfp_upstream_ops *ops = sfp_get_upstream_ops(bus); - int ret = 0; +@@ -687,6 +736,8 @@ int sfp_module_insert(struct sfp_bus *bu + + bus->sfp_quirk = sfp_lookup_quirk(id); + bus->sfp_quirk = sfp_lookup_quirk(id); + if (ops && ops->module_insert) ret = ops->module_insert(bus->upstream, id); -@@ -623,6 +675,8 @@ void sfp_module_remove(struct sfp_bus *b - - if (ops && ops->module_remove) - ops->module_remove(bus->upstream); -+ -+ bus->sfp_quirk = NULL; - } - EXPORT_SYMBOL_GPL(sfp_module_remove); - diff --git a/target/linux/generic/backport-5.4/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch b/target/linux/generic/backport-5.4/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch index 0b085ff094..a19c827389 100644 --- a/target/linux/generic/backport-5.4/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch +++ b/target/linux/generic/backport-5.4/743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch @@ -17,9 +17,9 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -38,7 +38,32 @@ struct sfp_bus { - bool started; - }; +@@ -184,7 +184,32 @@ int sfp_parse_port(struct sfp_bus *bus, + } + EXPORT_SYMBOL_GPL(sfp_parse_port); +static void sfp_quirk_2500basex(const struct sfp_eeprom_id *id, + unsigned long *modes) diff --git a/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch b/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch deleted file mode 100644 index e651743c1d..0000000000 --- a/target/linux/generic/hack-5.4/641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch +++ /dev/null @@ -1,114 +0,0 @@ -From a00590d570212c3c633bd463cef8ec7377cc7993 Mon Sep 17 00:00:00 2001 -From: Kevin Darbyshire-Bryant -Date: Tue, 30 Jun 2020 12:07:44 +0100 -Subject: [PATCH] sch_cake: fix IP protocol handling in the presence of VLAN - tags -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Ilya Ponetayev - -CAKE was using the return value of tc_skb_protocol() and expecting it to be -the IP protocol type. This can fail in the presence of QinQ VLAN tags, -making CAKE unable to handle ECN marking and diffserv parsing in this case. -Fix this by implementing our own version of tc_skb_protocol(), which will -use skb->protocol directly, but also parse and skip over any VLAN tags and -return the inner protocol number instead. - -Also fix CE marking by implementing a version of INET_ECN_set_ce() that -uses the same parsing routine. - -Fixes: ea82511518f4 ("sch_cake: Add NAT awareness to packet classifier") -Fixes: b2100cc56fca ("sch_cake: Use tc_skb_protocol() helper for getting packet protocol") -Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc") -Signed-off-by: Ilya Ponetayev -[ squash original two patches, rewrite commit message ] -Signed-off-by: Toke Høiland-Jørgensen -Signed-off-by: Kevin Darbyshire-Bryant ---- - net/sched/sch_cake.c | 52 +++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 49 insertions(+), 3 deletions(-) - ---- a/net/sched/sch_cake.c -+++ b/net/sched/sch_cake.c -@@ -497,6 +497,52 @@ static bool cobalt_queue_empty(struct co - return down; - } - -+static __be16 cake_skb_proto(const struct sk_buff *skb) -+{ -+ unsigned int offset = skb_mac_offset(skb) + sizeof(struct ethhdr); -+ __be16 proto = skb->protocol; -+ struct vlan_hdr vhdr, *vh; -+ -+ while (proto == htons(ETH_P_8021Q) || proto == htons(ETH_P_8021AD)) { -+ vh = skb_header_pointer(skb, offset, sizeof(vhdr), &vhdr); -+ if (!vh) -+ break; -+ -+ proto = vh->h_vlan_encapsulated_proto; -+ offset += sizeof(vhdr); -+ } -+ -+ return proto; -+} -+ -+static int cake_set_ce(struct sk_buff *skb) -+{ -+ int wlen = skb_network_offset(skb); -+ -+ switch (cake_skb_proto(skb)) { -+ case htons(ETH_P_IP): -+ wlen += sizeof(struct iphdr); -+ if (!pskb_may_pull(skb, wlen) || -+ skb_try_make_writable(skb, wlen)) -+ return 0; -+ -+ return IP_ECN_set_ce(ip_hdr(skb)); -+ -+ case htons(ETH_P_IPV6): -+ wlen += sizeof(struct ipv6hdr); -+ if (!pskb_may_pull(skb, wlen) || -+ skb_try_make_writable(skb, wlen)) -+ return 0; -+ -+ return IP6_ECN_set_ce(skb, ipv6_hdr(skb)); -+ -+ default: -+ return 0; -+ } -+ -+ return 0; -+} -+ - /* Call this with a freshly dequeued packet for possible congestion marking. - * Returns true as an instruction to drop the packet, false for delivery. - */ -@@ -549,7 +595,7 @@ static bool cobalt_should_drop(struct co - - if (next_due && vars->dropping) { - /* Use ECN mark if possible, otherwise drop */ -- drop = !(vars->ecn_marked = INET_ECN_set_ce(skb)); -+ drop = !(vars->ecn_marked = cake_set_ce(skb)); - - vars->count++; - if (!vars->count) -@@ -592,7 +638,7 @@ static bool cake_update_flowkeys(struct - bool rev = !skb->_nfct, upd = false; - __be32 ip; - -- if (tc_skb_protocol(skb) != htons(ETH_P_IP)) -+ if (cake_skb_proto(skb) != htons(ETH_P_IP)) - return false; - - if (!nf_ct_get_tuple_skb(&tuple, skb)) -@@ -1557,7 +1603,7 @@ static u8 cake_handle_diffserv(struct sk - u16 *buf, buf_; - u8 dscp; - -- switch (tc_skb_protocol(skb)) { -+ switch (cake_skb_proto(skb)) { - case htons(ETH_P_IP): - buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_); - if (unlikely(!buf)) diff --git a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 766abc7489..232aee9634 100644 --- a/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -1044,6 +1058,7 @@ static const int fib6_prop[RTN_MAX + 1] +@@ -1047,6 +1061,7 @@ static const int fib6_prop[RTN_MAX + 1] [RTN_BLACKHOLE] = -EINVAL, [RTN_UNREACHABLE] = -EHOSTUNREACH, [RTN_PROHIBIT] = -EACCES, @@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski [RTN_THROW] = -EAGAIN, [RTN_NAT] = -EINVAL, [RTN_XRESOLVE] = -EINVAL, -@@ -1081,6 +1096,10 @@ static void ip6_rt_init_dst_reject(struc +@@ -1084,6 +1099,10 @@ static void ip6_rt_init_dst_reject(struc rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -4416,6 +4435,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -4419,6 +4438,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -4896,7 +4926,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -4899,7 +4929,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6016,6 +6047,8 @@ static int ip6_route_dev_notify(struct n +@@ -6019,6 +6050,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6027,6 +6060,7 @@ static int ip6_route_dev_notify(struct n +@@ -6030,6 +6063,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6219,6 +6253,8 @@ static int __net_init ip6_route_net_init +@@ -6222,6 +6256,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6229,11 +6265,21 @@ static int __net_init ip6_route_net_init +@@ -6232,11 +6268,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6257,6 +6303,8 @@ out: +@@ -6260,6 +6306,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6276,6 +6324,7 @@ static void __net_exit ip6_route_net_exi +@@ -6279,6 +6327,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6353,6 +6402,9 @@ void __init ip6_route_init_special_entri +@@ -6356,6 +6405,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-5.4/740-net-sfp-remove-incomplete-100BASE-FX-and-100BASE-LX-.patch b/target/linux/generic/pending-5.4/740-net-sfp-remove-incomplete-100BASE-FX-and-100BASE-LX-.patch index 4de6305827..32d09a2ee1 100644 --- a/target/linux/generic/pending-5.4/740-net-sfp-remove-incomplete-100BASE-FX-and-100BASE-LX-.patch +++ b/target/linux/generic/pending-5.4/740-net-sfp-remove-incomplete-100BASE-FX-and-100BASE-LX-.patch @@ -17,7 +17,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -342,9 +342,7 @@ phy_interface_t sfp_select_interface(str +@@ -416,9 +416,7 @@ phy_interface_t sfp_select_interface(str if (phylink_test(link_modes, 2500baseX_Full)) return PHY_INTERFACE_MODE_2500BASEX; diff --git a/target/linux/generic/pending-5.4/741-net-sfp-derive-interface-mode-from-ethtool-link-mode.patch b/target/linux/generic/pending-5.4/741-net-sfp-derive-interface-mode-from-ethtool-link-mode.patch index 8158c78b0e..ecdf9281b0 100644 --- a/target/linux/generic/pending-5.4/741-net-sfp-derive-interface-mode-from-ethtool-link-mode.patch +++ b/target/linux/generic/pending-5.4/741-net-sfp-derive-interface-mode-from-ethtool-link-mode.patch @@ -40,7 +40,7 @@ Signed-off-by: Russell King "selection of interface failed, advertisement %*pb\n", --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -320,16 +320,12 @@ EXPORT_SYMBOL_GPL(sfp_parse_support); +@@ -394,16 +394,12 @@ EXPORT_SYMBOL_GPL(sfp_parse_support); /** * sfp_select_interface() - Select appropriate phy_interface_t mode * @bus: a pointer to the &struct sfp_bus structure for the sfp module @@ -59,7 +59,7 @@ Signed-off-by: Russell King unsigned long *link_modes) { if (phylink_test(link_modes, 10000baseCR_Full) || -@@ -342,7 +338,8 @@ phy_interface_t sfp_select_interface(str +@@ -416,7 +412,8 @@ phy_interface_t sfp_select_interface(str if (phylink_test(link_modes, 2500baseX_Full)) return PHY_INTERFACE_MODE_2500BASEX; diff --git a/target/linux/generic/pending-5.4/742-net-sfp-add-more-extended-compliance-codes.patch b/target/linux/generic/pending-5.4/742-net-sfp-add-more-extended-compliance-codes.patch index 0ddca287b9..b584d9669c 100644 --- a/target/linux/generic/pending-5.4/742-net-sfp-add-more-extended-compliance-codes.patch +++ b/target/linux/generic/pending-5.4/742-net-sfp-add-more-extended-compliance-codes.patch @@ -19,7 +19,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -124,35 +124,35 @@ int sfp_parse_port(struct sfp_bus *bus, +@@ -130,35 +130,35 @@ int sfp_parse_port(struct sfp_bus *bus, /* port is the physical connector, set this from the connector field. */ switch (id->base.connector) { @@ -70,7 +70,7 @@ Signed-off-by: Russell King port = PORT_OTHER; break; default: -@@ -261,22 +261,33 @@ void sfp_parse_support(struct sfp_bus *b +@@ -332,22 +332,33 @@ void sfp_parse_support(struct sfp_bus *b } switch (id->base.extended_cc) { @@ -111,7 +111,7 @@ Signed-off-by: Russell King default: dev_warn(bus->sfp_dev, "Unknown/unsupported extended compliance code: 0x%02x\n", -@@ -301,7 +312,7 @@ void sfp_parse_support(struct sfp_bus *b +@@ -372,7 +383,7 @@ void sfp_parse_support(struct sfp_bus *b */ if (bitmap_empty(modes, __ETHTOOL_LINK_MODE_MASK_NBITS)) { /* If the encoding and bit rate allows 1000baseX */ @@ -120,7 +120,7 @@ Signed-off-by: Russell King br_min <= 1300 && br_max >= 1200) phylink_set(modes, 1000baseX_Full); } -@@ -332,7 +343,8 @@ phy_interface_t sfp_select_interface(str +@@ -406,7 +417,8 @@ phy_interface_t sfp_select_interface(str phylink_test(link_modes, 10000baseSR_Full) || phylink_test(link_modes, 10000baseLR_Full) || phylink_test(link_modes, 10000baseLRM_Full) || diff --git a/target/linux/generic/pending-5.4/743-net-sfp-add-module-start-stop-upstream-notifications.patch b/target/linux/generic/pending-5.4/743-net-sfp-add-module-start-stop-upstream-notifications.patch index 44de1b2a32..de1608cc8b 100644 --- a/target/linux/generic/pending-5.4/743-net-sfp-add-module-start-stop-upstream-notifications.patch +++ b/target/linux/generic/pending-5.4/743-net-sfp-add-module-start-stop-upstream-notifications.patch @@ -32,7 +32,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -712,6 +712,27 @@ void sfp_module_remove(struct sfp_bus *b +@@ -788,6 +788,27 @@ void sfp_module_remove(struct sfp_bus *b } EXPORT_SYMBOL_GPL(sfp_module_remove); diff --git a/target/linux/generic/pending-5.4/750-net-phylink-delay-MAC-configuration-for-copper-SFP-m.patch b/target/linux/generic/pending-5.4/750-net-phylink-delay-MAC-configuration-for-copper-SFP-m.patch index 667170a398..9ddf69514d 100644 --- a/target/linux/generic/pending-5.4/750-net-phylink-delay-MAC-configuration-for-copper-SFP-m.patch +++ b/target/linux/generic/pending-5.4/750-net-phylink-delay-MAC-configuration-for-copper-SFP-m.patch @@ -134,7 +134,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c -@@ -103,6 +103,7 @@ static const struct sfp_quirk *sfp_looku +@@ -109,6 +109,7 @@ static const struct sfp_quirk *sfp_looku return NULL; } @@ -142,9 +142,9 @@ Signed-off-by: David S. Miller /** * sfp_parse_port() - Parse the EEPROM base ID, setting the port type * @bus: a pointer to the &struct sfp_bus structure for the sfp module -@@ -179,6 +180,33 @@ int sfp_parse_port(struct sfp_bus *bus, - EXPORT_SYMBOL_GPL(sfp_parse_port); - +@@ -250,6 +251,33 @@ static const struct sfp_quirk *sfp_looku + return NULL; + } /** + * sfp_may_have_phy() - indicate whether the module may have a PHY + * @bus: a pointer to the &struct sfp_bus structure for the sfp module diff --git a/target/linux/layerscape/patches-5.4/806-dma-0019-dmaengine-fsl-edma-calculate-the-real-count-for-slav.patch b/target/linux/layerscape/patches-5.4/806-dma-0019-dmaengine-fsl-edma-calculate-the-real-count-for-slav.patch index 4278711b80..f8bbaaffa1 100644 --- a/target/linux/layerscape/patches-5.4/806-dma-0019-dmaengine-fsl-edma-calculate-the-real-count-for-slav.patch +++ b/target/linux/layerscape/patches-5.4/806-dma-0019-dmaengine-fsl-edma-calculate-the-real-count-for-slav.patch @@ -60,9 +60,9 @@ Signed-off-by: Fugang Duan struct dma_async_tx_descriptor *fsl_edma_prep_dma_cyclic( --- a/drivers/dma/fsl-edma.c +++ b/drivers/dma/fsl-edma.c -@@ -46,6 +46,7 @@ static irqreturn_t fsl_edma_tx_handler(i +@@ -53,6 +53,7 @@ static irqreturn_t fsl_edma_tx_handler(i + } - spin_lock(&fsl_chan->vchan.lock); if (!fsl_chan->edesc->iscyclic) { + fsl_edma_get_realcnt(fsl_chan); list_del(&fsl_chan->edesc->vdesc.node); diff --git a/target/linux/layerscape/patches-5.4/806-dma-0028-dmaengine-fsl-edma-Add-eDMA-support-for-QorIQ-LS1028.patch b/target/linux/layerscape/patches-5.4/806-dma-0028-dmaengine-fsl-edma-Add-eDMA-support-for-QorIQ-LS1028.patch index 611f96b1a8..4707eccdab 100644 --- a/target/linux/layerscape/patches-5.4/806-dma-0028-dmaengine-fsl-edma-Add-eDMA-support-for-QorIQ-LS1028.patch +++ b/target/linux/layerscape/patches-5.4/806-dma-0028-dmaengine-fsl-edma-Add-eDMA-support-for-QorIQ-LS1028.patch @@ -70,7 +70,7 @@ Signed-off-by: Vinod Koul }; --- a/drivers/dma/fsl-edma.c +++ b/drivers/dma/fsl-edma.c -@@ -234,6 +234,13 @@ static struct fsl_edma_drvdata vf610_dat +@@ -241,6 +241,13 @@ static struct fsl_edma_drvdata vf610_dat .setup_irq = fsl_edma_irq_init, }; @@ -84,7 +84,7 @@ Signed-off-by: Vinod Koul static struct fsl_edma_drvdata imx7ulp_data = { .version = v3, .dmamuxs = 1, -@@ -243,6 +250,7 @@ static struct fsl_edma_drvdata imx7ulp_d +@@ -250,6 +257,7 @@ static struct fsl_edma_drvdata imx7ulp_d static const struct of_device_id fsl_edma_dt_ids[] = { { .compatible = "fsl,vf610-edma", .data = &vf610_data}, diff --git a/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch b/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch index 13ed9e4c8a..e3269a592f 100644 --- a/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch +++ b/target/linux/mvebu/patches-5.4/012-net-mvneta-rely-on-build_skb-in-mvneta_rx_swbm-poll-.patch @@ -292,7 +292,7 @@ Signed-off-by: David S. Miller MVNETA_RX_BUF_SIZE(pp->pkt_size)); mvneta_rxq_bm_disable(pp, rxq); mvneta_rxq_fill(pp, rxq, rxq->size); -@@ -4700,7 +4705,7 @@ static int mvneta_probe(struct platform_ +@@ -4708,7 +4713,7 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; diff --git a/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch b/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch index 06968bdaef..62c00ddeb1 100644 --- a/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch +++ b/target/linux/mvebu/patches-5.4/013-net-mvneta-add-basic-XDP-support.patch @@ -300,7 +300,7 @@ Signed-off-by: David S. Miller }; static const struct ethtool_ops mvneta_eth_tool_ops = { -@@ -4705,7 +4835,7 @@ static int mvneta_probe(struct platform_ +@@ -4713,7 +4843,7 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; diff --git a/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch b/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch index f76b27a36d..86bffa538a 100644 --- a/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch +++ b/target/linux/mvebu/patches-5.4/023-net-mvneta-fix-XDP-support-if-sw-bm-is-used-as-fallb.patch @@ -38,7 +38,7 @@ Signed-off-by: David S. Miller mvreg_write(pp, MVNETA_ACC_MODE, MVNETA_ACC_MODE_EXT1); netdev_info(pp->dev, "fail to update MTU, fall back to software BM\n"); } -@@ -4976,7 +4976,6 @@ static int mvneta_probe(struct platform_ +@@ -4984,7 +4984,6 @@ static int mvneta_probe(struct platform_ SET_NETDEV_DEV(dev, &pdev->dev); pp->id = global_port_id++; @@ -46,7 +46,7 @@ Signed-off-by: David S. Miller /* Obtain access to BM resources if enabled and already initialized */ bm_node = of_parse_phandle(dn, "buffer-manager", 0); -@@ -5001,6 +5000,10 @@ static int mvneta_probe(struct platform_ +@@ -5009,6 +5008,10 @@ static int mvneta_probe(struct platform_ } of_node_put(bm_node); @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller err = mvneta_init(&pdev->dev, pp); if (err < 0) goto err_netdev; -@@ -5154,6 +5157,7 @@ static int mvneta_resume(struct device * +@@ -5166,6 +5169,7 @@ static int mvneta_resume(struct device * err = mvneta_bm_port_init(pdev, pp); if (err < 0) { dev_info(&pdev->dev, "use SW buffer management\n"); diff --git a/target/linux/mvebu/patches-5.4/561-mvebu-armada-38x-enable-libata-leds.patch b/target/linux/mvebu/patches-5.4/561-mvebu-armada-38x-enable-libata-leds.patch index 3f9ad364de..b8ab700c97 100644 --- a/target/linux/mvebu/patches-5.4/561-mvebu-armada-38x-enable-libata-leds.patch +++ b/target/linux/mvebu/patches-5.4/561-mvebu-armada-38x-enable-libata-leds.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig -@@ -68,6 +68,7 @@ +@@ -69,6 +69,7 @@ config MACH_ARMADA_38X select HAVE_SMP select MACH_MVEBU_V7 select PINCTRL_ARMADA_38X diff --git a/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch b/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch index f5283ed123..7110a5b808 100644 --- a/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch +++ b/target/linux/ramips/patches-5.4/0069-awake-rt305x-dwc2-controller.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/dwc2/platform.c +++ b/drivers/usb/dwc2/platform.c -@@ -430,6 +430,12 @@ static int dwc2_driver_probe(struct plat +@@ -431,6 +431,12 @@ static int dwc2_driver_probe(struct plat if (retval) return retval;