endif
LINUX_VERSION-5.4 = .117
-LINUX_VERSION-5.10 = .36
+LINUX_VERSION-5.10 = .37
LINUX_KERNEL_HASH-5.4.117 = 4e989b5775830092e5c76b5cca65ebff862ad0c87d0b58c3a20d415c3d4ec770
-LINUX_KERNEL_HASH-5.10.36 = 899ce7f728007321288e632f0c2f8db9c8c2d625cef0e5a331d4c213fce1b268
+LINUX_KERNEL_HASH-5.10.37 = a8d5e3309dafc484eb70f94747a6efffa29a79bae651ae126333e913c00be077
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -242,6 +242,8 @@ config ATH79
+@@ -243,6 +243,8 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT_UART_PROM
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -316,6 +316,9 @@ config BCM63XX
+@@ -317,6 +317,9 @@ config BCM63XX
select SYNC_R4K
select DMA_NONCOHERENT
select IRQ_MIPS_CPU
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
-@@ -2688,6 +2688,12 @@ static int brcmnand_attach_chip(struct n
-
- ret = brcmstb_choose_ecc_layout(host);
+@@ -2694,6 +2694,12 @@ static int brcmnand_attach_chip(struct n
+ chip->ecc.read_oob = brcmnand_read_oob_raw;
+ }
+ /* If OOB is written with ECC enabled it will cause ECC errors */
+ if (is_hamming_ecc(host->ctrl, &host->hwcfg)) {
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -249,6 +249,7 @@ config ATH79
+@@ -250,6 +250,7 @@ config ATH79
config BMIPS_GENERIC
bool "Broadcom Generic BMIPS kernel"
--- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
+++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
-@@ -2688,6 +2688,12 @@ static int brcmnand_attach_chip(struct n
-
- ret = brcmstb_choose_ecc_layout(host);
+@@ -2694,6 +2694,12 @@ static int brcmnand_attach_chip(struct n
+ chip->ecc.read_oob = brcmnand_read_oob_raw;
+ }
+ /* If OOB is written with ECC enabled it will cause ECC errors */
+ if (is_hamming_ecc(host->ctrl, &host->hwcfg)) {
+++ /dev/null
-From 9c7d24693d864f90b27aad5d15fbfe226c02898b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
-Date: Wed, 24 Mar 2021 09:19:02 +0100
-Subject: [PATCH 01/22] gpio: guard gpiochip_irqchip_add_domain() with
- GPIOLIB_IRQCHIP
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The current code doesn't check if GPIOLIB_IRQCHIP is enabled, which results in
-a compilation error when trying to build gpio-regmap if CONFIG_GPIOLIB_IRQCHIP
-isn't enabled.
-
-Fixes: 6a45b0e2589f ("gpiolib: Introduce gpiochip_irqchip_add_domain()")
-Suggested-by: Michael Walle <michael@walle.cc>
-Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
-Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
-Reviewed-by: Michael Walle <michael@walle.cc>
-Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
-Link: https://lore.kernel.org/r/20210324081923.20379-2-noltari@gmail.com
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- include/linux/gpio/driver.h | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/include/linux/gpio/driver.h
-+++ b/include/linux/gpio/driver.h
-@@ -637,8 +637,17 @@ int gpiochip_irqchip_add_key(struct gpio
- bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gc,
- unsigned int offset);
-
-+#ifdef CONFIG_GPIOLIB_IRQCHIP
- int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
- struct irq_domain *domain);
-+#else
-+static inline int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
-+ struct irq_domain *domain)
-+{
-+ WARN_ON(1);
-+ return -EINVAL;
-+}
-+#endif
-
- #ifdef CONFIG_LOCKDEP
-
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -250,7 +250,6 @@ config ATH79
+@@ -251,7 +251,6 @@ config ATH79
config BMIPS_GENERIC
bool "Broadcom Generic BMIPS kernel"
select ARCH_HAS_RESET_CONTROLLER
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -262,6 +262,7 @@ config BMIPS_GENERIC
+@@ -263,6 +263,7 @@ config BMIPS_GENERIC
select BCM7038_L1_IRQ
select BCM7120_L2_IRQ
select BRCMSTB_L2_IRQ
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2075,7 +2075,7 @@ config CPU_MIPS32
+@@ -2076,7 +2076,7 @@ config CPU_MIPS32
config CPU_MIPS64
bool
default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R5 || \
+++ /dev/null
-From: David Bauer <mail@david-bauer.net>
-Date: Wed, 17 Feb 2021 03:21:39 +0100
-Subject: [PATCH] mtd: don't lock when recursively deleting partitions
-
-When recursively deleting partitions, don't acquire the masters
-partition lock twice. Otherwise the process endy up in a deadlocked
-state.
-
-Signed-off-by: David Bauer <mail@david-bauer.net>
----
- drivers/mtd/mtdpart.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/mtd/mtdpart.c
-+++ b/drivers/mtd/mtdpart.c
-@@ -331,7 +331,7 @@ static int __del_mtd_partitions(struct m
-
- list_for_each_entry_safe(child, next, &mtd->partitions, part.node) {
- if (mtd_has_partitions(child))
-- del_mtd_partitions(child);
-+ __del_mtd_partitions(child);
-
- pr_info("Deleting %s MTD partition\n", child->name);
- ret = del_mtd_device(child);
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1162,6 +1162,10 @@ config MIPS_MSC
+@@ -1163,6 +1163,10 @@ config MIPS_MSC
config SYNC_R4K
bool
#include "mtdcore.h"
-@@ -848,6 +849,8 @@ int mtd_device_parse_register(struct mtd
+@@ -851,6 +852,8 @@ int mtd_device_parse_register(struct mtd
register_reboot_notifier(&mtd->reboot_notifier);
}
}
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -409,6 +409,9 @@ static struct pernet_operations ip_rt_pr
+@@ -410,6 +410,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{
---
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1077,9 +1077,6 @@ config FW_ARC
+@@ -1078,9 +1078,6 @@ config FW_ARC
config ARCH_MAY_HAVE_PC_FDC
bool
config CEVT_BCM1480
bool
-@@ -3169,6 +3166,18 @@ choice
+@@ -3170,6 +3167,18 @@ choice
bool "Extend builtin kernel arguments with bootloader arguments"
endchoice
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -1043,6 +1043,44 @@ out_unlock:
+@@ -1046,6 +1046,44 @@ out_unlock:
}
EXPORT_SYMBOL_GPL(get_mtd_device_nm);
--- a/include/uapi/linux/if_packet.h
+++ b/include/uapi/linux/if_packet.h
-@@ -32,6 +32,8 @@ struct sockaddr_ll {
+@@ -33,6 +33,8 @@ struct sockaddr_ll {
#define PACKET_KERNEL 7 /* To kernel space */
/* Unused, PACKET_FASTROUTE and PACKET_LOOPBACK are invisible to user space */
#define PACKET_FASTROUTE 6 /* Fastrouted frame */
/* Packet socket options */
-@@ -58,6 +60,7 @@ struct sockaddr_ll {
+@@ -59,6 +61,7 @@ struct sockaddr_ll {
#define PACKET_ROLLOVER_STATS 21
#define PACKET_FANOUT_DATA 22
#define PACKET_IGNORE_OUTGOING 23
#define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
-@@ -1801,6 +1801,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1817,6 +1817,7 @@ static int packet_rcv_spkt(struct sk_buf
{
struct sock *sk;
struct sockaddr_pkt *spkt;
/*
* When we registered the protocol we saved the socket in the data
-@@ -1808,6 +1809,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1824,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf
*/
sk = pt->af_packet_priv;
/*
* Yank back the headers [hope the device set this
-@@ -1820,7 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1836,7 +1838,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop.
*/
goto out;
if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -2058,12 +2060,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -2074,12 +2076,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res;
bool is_drop_n_account = false;
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -2189,12 +2191,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -2205,12 +2207,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3293,6 +3295,7 @@ static int packet_create(struct net *net
+@@ -3309,6 +3311,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -3927,6 +3930,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3943,6 +3946,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -3983,6 +3996,13 @@ static int packet_getsockopt(struct sock
+@@ -3999,6 +4012,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
break;
--- a/net/packet/internal.h
+++ b/net/packet/internal.h
-@@ -136,6 +136,7 @@ struct packet_sock {
+@@ -137,6 +137,7 @@ struct packet_sock {
int (*xmit)(struct sk_buff *skb);
struct packet_type prot_hook ____cacheline_aligned_in_smp;
atomic_t tp_drops ____cacheline_aligned_in_smp;
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
-@@ -1265,6 +1265,7 @@ static const struct of_device_id qcom_sc
+@@ -1275,6 +1275,7 @@ static const struct of_device_id qcom_sc
SCM_HAS_BUS_CLK)
},
{ .compatible = "qcom,scm-ipq4019" },
return ret;
}
-@@ -3035,6 +3106,7 @@ static int qcom_nandc_remove(struct plat
+@@ -3032,6 +3103,7 @@ static int qcom_nandc_remove(struct plat
static const struct qcom_nandc_props ipq806x_nandc_props = {
.ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT),
.is_bam = false,
+
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
-@@ -308,3 +308,30 @@ char *__init pcibios_setup(char *str)
+@@ -313,3 +313,30 @@ char *__init pcibios_setup(char *str)
return pcibios_plat_setup(str);
return str;
}
--- a/drivers/net/phy/intel-xway.c
+++ b/drivers/net/phy/intel-xway.c
-@@ -145,6 +145,51 @@
+@@ -157,6 +157,51 @@
#define PHY_ID_PHY11G_VR9_1_2 0xD565A409
#define PHY_ID_PHY22F_VR9_1_2 0xD565A419
static int xway_gphy_config_init(struct phy_device *phydev)
{
int err;
-@@ -183,6 +228,7 @@ static int xway_gphy_config_init(struct
+@@ -204,6 +249,7 @@ static int xway_gphy_config_init(struct
phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2H, ledxh);
phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2L, ledxl);
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2425,6 +2425,12 @@ config MIPS_VPE_LOADER
+@@ -2426,6 +2426,12 @@ config MIPS_VPE_LOADER
Includes a loader for loading an elf relocatable object
onto another VPE and running it.
+++ /dev/null
---- a/arch/mips/pci/pci-mt7620.c
-+++ b/arch/mips/pci/pci-mt7620.c
-@@ -32,6 +32,7 @@
- #define PPLL_CFG1 0x9c
-
- #define PPLL_DRV 0xa0
-+#define PPLL_LD BIT(23)
- #define PDRV_SW_SET BIT(31)
- #define LC_CKDRVPD BIT(19)
- #define LC_CKDRVOHZ BIT(18)
-@@ -239,8 +240,8 @@ static int mt7620_pci_hw_init(struct pla
- rt_sysc_m32(0, RALINK_PCIE0_CLK_EN, RALINK_CLKCFG1);
- mdelay(100);
-
-- if (!(rt_sysc_r32(PPLL_CFG1) & PDRV_SW_SET)) {
-- dev_err(&pdev->dev, "MT7620 PPLL unlock\n");
-+ if (!(rt_sysc_r32(PPLL_CFG1) & PPLL_LD)) {
-+ dev_err(&pdev->dev, "MT7620 PPLL is unlocked, aborting init\n");
- reset_control_assert(rstpcie0);
- rt_sysc_m32(RALINK_PCIE0_CLK_EN, 0, RALINK_CLKCFG1);
- return -1;