endif
LINUX_VERSION-5.4 = .169
-LINUX_VERSION-5.10 = .88
+LINUX_VERSION-5.10 = .89
LINUX_KERNEL_HASH-5.4.169 = 554382d95f71afd5f9b49292eb5d1cbe3be1a0bad22d21487c9e6d506ee01a19
-LINUX_KERNEL_HASH-5.10.88 = 6f8631b6c382a2b0cfeff1e5f8805c8e1cfbe8d714b6e65f5bb79733c99068eb
+LINUX_KERNEL_HASH-5.10.89 = 92218b1a4a18f1cb9ec07d2b7fce41577452aa552c54c25b6d5fe9b4b543bb30
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2461,6 +2461,11 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2463,6 +2463,11 @@ static int lan78xx_reset(struct lan78xx_
int ret = 0;
unsigned long timeout;
u8 sig;
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
buf |= HW_CFG_LRST_;
-@@ -2514,6 +2519,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2516,6 +2521,9 @@ static int lan78xx_reset(struct lan78xx_
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
buf |= HW_CFG_MEF_;
ret = lan78xx_write_reg(dev, HW_CFG, buf);
ret = lan78xx_read_reg(dev, USB_CFG0, &buf);
-@@ -2569,6 +2577,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2571,6 +2579,9 @@ static int lan78xx_reset(struct lan78xx_
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
}
}
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2643,6 +2643,22 @@ static int lan78xx_open(struct net_devic
+@@ -2645,6 +2645,22 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -425,6 +425,15 @@ static int msg_level = -1;
+@@ -427,6 +427,15 @@ static int msg_level = -1;
module_param(msg_level, int, 0);
MODULE_PARM_DESC(msg_level, "Override default message level");
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
-@@ -2925,8 +2934,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -2927,8 +2936,14 @@ static int lan78xx_bind(struct lan78xx_n
if (DEFAULT_RX_CSUM_ENABLE)
dev->net->features |= NETIF_F_RXCSUM;
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2175,6 +2175,22 @@ static int lan78xx_phy_init(struct lan78
+@@ -2177,6 +2177,22 @@ static int lan78xx_phy_init(struct lan78
mii_adv_to_linkmode_adv_t(fc, mii_adv);
linkmode_or(phydev->advertising, fc, phydev->advertising);
if (phydev->mdio.dev.of_node) {
u32 reg;
int len;
-@@ -2652,22 +2668,6 @@ static int lan78xx_open(struct net_devic
+@@ -2654,22 +2670,6 @@ static int lan78xx_open(struct net_devic
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -434,6 +434,11 @@ static bool enable_tso;
+@@ -436,6 +436,11 @@ static bool enable_tso;
module_param(enable_tso, bool, 0644);
MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload");
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
{
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
-@@ -3768,7 +3773,13 @@ static int lan78xx_probe(struct usb_inte
+@@ -3770,7 +3775,13 @@ static int lan78xx_probe(struct usb_inte
netdev->max_mtu = MAX_SINGLE_PACKET_SIZE;
netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -2180,7 +2180,7 @@ static int lan78xx_phy_init(struct lan78
+@@ -2182,7 +2182,7 @@ static int lan78xx_phy_init(struct lan78
mii_adv_to_linkmode_adv_t(fc, mii_adv);
linkmode_or(phydev->advertising, fc, phydev->advertising);
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -3169,7 +3169,7 @@ static int rx_submit(struct lan78xx_net
+@@ -3171,7 +3171,7 @@ static int rx_submit(struct lan78xx_net
size_t size = dev->rx_urb_size;
int ret = 0;
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -1300,7 +1300,7 @@ static int bcm2835_pinctrl_probe(struct
+@@ -1314,7 +1314,7 @@ static int bcm2835_pinctrl_probe(struct
girq->default_type = IRQ_TYPE_NONE;
girq->handler = handle_level_irq;
+ err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc);
if (err) {
dev_err(dev, "could not add GPIO chip\n");
- return err;
+ pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range);
+++ /dev/null
-From 069990e0b524a7acdcfef0505913ee20401fec5a Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Mon, 6 Jan 2020 14:05:42 +0000
-Subject: [PATCH] pinctrl: bcm2835: Change init order for gpio hogs
-
-pinctrl-bcm2835 is a combined pinctrl/gpio driver. Currently the gpio
-side is registered first, but this breaks gpio hogs (which are
-configured during gpiochip_add_data). Part of the hog initialisation
-is a call to pinctrl_gpio_request, and since the pinctrl driver hasn't
-yet been registered this results in an -EPROBE_DEFER from which it can
-never recover.
-
-Change the initialisation sequence to register the pinctrl driver
-first.
-
-See: https://www.raspberrypi.org/forums/viewtopic.php?f=107&t=260600
-
-Signed-off-by: Phil Elwell <phil@raspberrypi.org>
----
- drivers/pinctrl/bcm/pinctrl-bcm2835.c | 29 +++++++++++++++------------
- 1 file changed, 16 insertions(+), 13 deletions(-)
-
---- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -1244,6 +1244,18 @@ static int bcm2835_pinctrl_probe(struct
- raw_spin_lock_init(&pc->irq_lock[i]);
- }
-
-+ pc->pctl_desc = *pdata->pctl_desc;
-+ pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
-+ if (IS_ERR(pc->pctl_dev)) {
-+ gpiochip_remove(&pc->gpio_chip);
-+ return PTR_ERR(pc->pctl_dev);
-+ }
-+
-+ pc->gpio_range = *pdata->gpio_range;
-+ pc->gpio_range.base = pc->gpio_chip.base;
-+ pc->gpio_range.gc = &pc->gpio_chip;
-+ pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
-+
- girq = &pc->gpio_chip.irq;
- girq->chip = &bcm2835_gpio_irq_chip;
- girq->parent_handler = bcm2835_gpio_irq_handler;
-@@ -1251,8 +1263,10 @@ static int bcm2835_pinctrl_probe(struct
- girq->parents = devm_kcalloc(dev, BCM2835_NUM_IRQS,
- sizeof(*girq->parents),
- GFP_KERNEL);
-- if (!girq->parents)
-+ if (!girq->parents) {
-+ pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range);
- return -ENOMEM;
-+ }
-
- if (is_7211) {
- pc->wake_irq = devm_kcalloc(dev, BCM2835_NUM_IRQS,
-@@ -1303,21 +1317,10 @@ static int bcm2835_pinctrl_probe(struct
- err = devm_gpiochip_add_data(dev, &pc->gpio_chip, pc);
- if (err) {
- dev_err(dev, "could not add GPIO chip\n");
-+ pinctrl_remove_gpio_range(pc->pctl_dev, &pc->gpio_range);
- return err;
- }
-
-- pc->pctl_desc = *pdata->pctl_desc;
-- pc->pctl_dev = devm_pinctrl_register(dev, &pc->pctl_desc, pc);
-- if (IS_ERR(pc->pctl_dev)) {
-- gpiochip_remove(&pc->gpio_chip);
-- return PTR_ERR(pc->pctl_dev);
-- }
--
-- pc->gpio_range = *pdata->gpio_range;
-- pc->gpio_range.base = pc->gpio_chip.base;
-- pc->gpio_range.gc = &pc->gpio_chip;
-- pinctrl_add_gpio_range(pc->pctl_dev, &pc->gpio_range);
--
- return 0;
- }
-
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
-@@ -1181,6 +1181,9 @@ static int lan78xx_link_reset(struct lan
+@@ -1183,6 +1183,9 @@ static int lan78xx_link_reset(struct lan
if (unlikely(ret < 0))
return -EIO;
if (is_valid_ether_addr(hw_mac_addr)) {
--- a/drivers/net/ethernet/marvell/prestera/prestera_main.c
+++ b/drivers/net/ethernet/marvell/prestera/prestera_main.c
-@@ -462,20 +462,17 @@ static int prestera_switch_set_base_mac_
+@@ -466,20 +466,17 @@ static int prestera_switch_set_base_mac_
{
struct device_node *base_mac_np;
struct device_node *np;
+++ /dev/null
-From 4f45f9f370a5bc6a43a7a166f10b3a30ca21353c Mon Sep 17 00:00:00 2001
-From: Robert Marko <robert.marko@sartura.hr>
-Date: Wed, 17 Nov 2021 10:36:31 +0100
-Subject: [PATCH v2] arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode
-
-Orange Pi Zero Plus uses a Realtek RTL8211E RGMII Gigabit PHY, but its
-currently set to plain RGMII mode meaning that it doesn't introduce
-delays.
-
-With this setup, TX packets are completely lost and changing the mode to
-RGMII-ID so the PHY will add delays internally fixes the issue.
-
-Fixes: a7affb13b271 ("arm64: allwinner: H5: Add Xunlong Orange Pi Zero Plus")
-
-Tested-by: Ron Goossens <rgoossens@gmail.com>
-Signed-off-by: Robert Marko <robert.marko@sartura.hr>
-Tested-by: Samuel Holland <samuel@sholland.org>
----
- arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
-+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
-@@ -69,7 +69,7 @@
- pinctrl-0 = <&emac_rgmii_pins>;
- phy-supply = <®_gmac_3v3>;
- phy-handle = <&ext_rgmii_phy>;
-- phy-mode = "rgmii";
-+ phy-mode = "rgmii-id";
- status = "okay";
- };
-