diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2020-07-04 15:16:27 +0200 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2020-07-04 21:12:42 +0200 |
commit | 68d9cb82143b864d70e4fb3d7cbb7068f82216a1 (patch) | |
tree | 937de971cb0239c77a2e533022aba3fd4a8f36ba /target/linux/generic | |
parent | 6062d858929df927e244280ec4864b35a217d6d1 (diff) | |
download | upstream-68d9cb82143b864d70e4fb3d7cbb7068f82216a1.tar.gz upstream-68d9cb82143b864d70e4fb3d7cbb7068f82216a1.tar.bz2 upstream-68d9cb82143b864d70e4fb3d7cbb7068f82216a1.zip |
kernel: Update kernel 5.4 to version 5.4.50
Run tested: ath79, ipq40xx
Build tested: ath79, ipq40xx
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'target/linux/generic')
30 files changed, 63 insertions, 346 deletions
diff --git a/target/linux/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch b/target/linux/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch index 2be0d36392..8f6406c290 100644 --- a/target/linux/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch +++ b/target/linux/generic/backport-5.4/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch @@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> s32 tin_deficit; u32 tin_backlog; u32 tin_dropped; -@@ -1919,7 +1918,7 @@ begin: +@@ -1943,7 +1942,7 @@ begin: while (b->tin_deficit < 0 || !(b->sparse_flow_count + b->bulk_flow_count)) { if (b->tin_deficit <= 0) @@ -41,7 +41,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> if (b->sparse_flow_count + b->bulk_flow_count) empty = false; -@@ -2241,8 +2240,7 @@ static int cake_config_besteffort(struct +@@ -2265,8 +2264,7 @@ static int cake_config_besteffort(struct cake_set_rate(b, rate, mtu, us_to_ns(q->target), us_to_ns(q->interval)); @@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> return 0; } -@@ -2253,8 +2251,7 @@ static int cake_config_precedence(struct +@@ -2277,8 +2275,7 @@ static int cake_config_precedence(struct struct cake_sched_data *q = qdisc_priv(sch); u32 mtu = psched_mtu(qdisc_dev(sch)); u64 rate = q->rate_bps; @@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> u32 i; q->tin_cnt = 8; -@@ -2267,18 +2264,14 @@ static int cake_config_precedence(struct +@@ -2291,18 +2288,14 @@ static int cake_config_precedence(struct cake_set_rate(b, rate, mtu, us_to_ns(q->target), us_to_ns(q->interval)); @@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> } return 0; -@@ -2347,8 +2340,7 @@ static int cake_config_diffserv8(struct +@@ -2371,8 +2364,7 @@ static int cake_config_diffserv8(struct struct cake_sched_data *q = qdisc_priv(sch); u32 mtu = psched_mtu(qdisc_dev(sch)); u64 rate = q->rate_bps; @@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> u32 i; q->tin_cnt = 8; -@@ -2364,18 +2356,14 @@ static int cake_config_diffserv8(struct +@@ -2388,18 +2380,14 @@ static int cake_config_diffserv8(struct cake_set_rate(b, rate, mtu, us_to_ns(q->target), us_to_ns(q->interval)); @@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> } return 0; -@@ -2414,17 +2402,11 @@ static int cake_config_diffserv4(struct +@@ -2438,17 +2426,11 @@ static int cake_config_diffserv4(struct cake_set_rate(&q->tins[3], rate >> 2, mtu, us_to_ns(q->target), us_to_ns(q->interval)); @@ -137,7 +137,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> return 0; } -@@ -2455,15 +2437,10 @@ static int cake_config_diffserv3(struct +@@ -2479,15 +2461,10 @@ static int cake_config_diffserv3(struct cake_set_rate(&q->tins[2], rate >> 2, mtu, us_to_ns(q->target), us_to_ns(q->interval)); diff --git a/target/linux/generic/backport-5.4/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch b/target/linux/generic/backport-5.4/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch deleted file mode 100644 index a36095c26c..0000000000 --- a/target/linux/generic/backport-5.4/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 9208d2863ac689a563b92f2161d8d1e7127d0add Mon Sep 17 00:00:00 2001 -From: Ilya Ponetayev <i.ponetaev@ndmsystems.com> -Date: Thu, 25 Jun 2020 22:12:07 +0200 -Subject: [PATCH] sch_cake: don't try to reallocate or unshare skb - unconditionally -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -cake_handle_diffserv() tries to linearize mac and network header parts of -skb and to make it writable unconditionally. In some cases it leads to full -skb reallocation, which reduces throughput and increases CPU load. Some -measurements of IPv4 forward + NAPT on MIPS router with 580 MHz single-core -CPU was conducted. It appears that on kernel 4.9 skb_try_make_writable() -reallocates skb, if skb was allocated in ethernet driver via so-called -'build skb' method from page cache (it was discovered by strange increase -of kmalloc-2048 slab at first). - -Obtain DSCP value via read-only skb_header_pointer() call, and leave -linearization only for DSCP bleaching or ECN CE setting. And, as an -additional optimisation, skip diffserv parsing entirely if it is not needed -by the current configuration. - -Fixes: c87b4ecdbe8d ("sch_cake: Make sure we can write the IP header before changing DSCP bits") -Signed-off-by: Ilya Ponetayev <i.ponetaev@ndmsystems.com> -[ fix a few style issues, reflow commit message ] -Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com> -Signed-off-by: David S. Miller <davem@davemloft.net> -Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> ---- - net/sched/sch_cake.c | 41 ++++++++++++++++++++++++++++++----------- - 1 file changed, 30 insertions(+), 11 deletions(-) - ---- a/net/sched/sch_cake.c -+++ b/net/sched/sch_cake.c -@@ -1553,30 +1553,49 @@ static unsigned int cake_drop(struct Qdi - - static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) - { -- int wlen = skb_network_offset(skb); -+ const int offset = skb_network_offset(skb); -+ u16 *buf, buf_; - u8 dscp; - - switch (tc_skb_protocol(skb)) { - case htons(ETH_P_IP): -- wlen += sizeof(struct iphdr); -- if (!pskb_may_pull(skb, wlen) || -- skb_try_make_writable(skb, wlen)) -+ buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_); -+ if (unlikely(!buf)) - return 0; - -- dscp = ipv4_get_dsfield(ip_hdr(skb)) >> 2; -- if (wash && dscp) -+ /* ToS is in the second byte of iphdr */ -+ dscp = ipv4_get_dsfield((struct iphdr *)buf) >> 2; -+ -+ if (wash && dscp) { -+ const int wlen = offset + sizeof(struct iphdr); -+ -+ if (!pskb_may_pull(skb, wlen) || -+ skb_try_make_writable(skb, wlen)) -+ return 0; -+ - ipv4_change_dsfield(ip_hdr(skb), INET_ECN_MASK, 0); -+ } -+ - return dscp; - - case htons(ETH_P_IPV6): -- wlen += sizeof(struct ipv6hdr); -- if (!pskb_may_pull(skb, wlen) || -- skb_try_make_writable(skb, wlen)) -+ buf = skb_header_pointer(skb, offset, sizeof(buf_), &buf_); -+ if (unlikely(!buf)) - return 0; - -- dscp = ipv6_get_dsfield(ipv6_hdr(skb)) >> 2; -- if (wash && dscp) -+ /* Traffic class is in the first and second bytes of ipv6hdr */ -+ dscp = ipv6_get_dsfield((struct ipv6hdr *)buf) >> 2; -+ -+ if (wash && dscp) { -+ const int wlen = offset + sizeof(struct ipv6hdr); -+ -+ if (!pskb_may_pull(skb, wlen) || -+ skb_try_make_writable(skb, wlen)) -+ return 0; -+ - ipv6_change_dsfield(ipv6_hdr(skb), INET_ECN_MASK, 0); -+ } -+ - return dscp; - - case htons(ETH_P_ARP): diff --git a/target/linux/generic/backport-5.4/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch b/target/linux/generic/backport-5.4/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch deleted file mode 100644 index 2d9cd29780..0000000000 --- a/target/linux/generic/backport-5.4/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 8c95eca0bb8c4bd2231a0d581f1ad0d50c90488c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@redhat.com> -Date: Thu, 25 Jun 2020 22:12:08 +0200 -Subject: [PATCH] sch_cake: don't call diffserv parsing code when it is not - needed -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -As a further optimisation of the diffserv parsing codepath, we can skip it -entirely if CAKE is configured to neither use diffserv-based -classification, nor to zero out the diffserv bits. - -Fixes: c87b4ecdbe8d ("sch_cake: Make sure we can write the IP header before changing DSCP bits") -Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com> -Signed-off-by: David S. Miller <davem@davemloft.net> -Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> ---- - net/sched/sch_cake.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - ---- a/net/sched/sch_cake.c -+++ b/net/sched/sch_cake.c -@@ -1551,7 +1551,7 @@ static unsigned int cake_drop(struct Qdi - return idx + (tin << 16); - } - --static u8 cake_handle_diffserv(struct sk_buff *skb, u16 wash) -+static u8 cake_handle_diffserv(struct sk_buff *skb, bool wash) - { - const int offset = skb_network_offset(skb); - u16 *buf, buf_; -@@ -1612,14 +1612,17 @@ static struct cake_tin_data *cake_select - { - struct cake_sched_data *q = qdisc_priv(sch); - u32 tin, mark; -+ bool wash; - u8 dscp; - - /* Tin selection: Default to diffserv-based selection, allow overriding -- * using firewall marks or skb->priority. -+ * using firewall marks or skb->priority. Call DSCP parsing early if -+ * wash is enabled, otherwise defer to below to skip unneeded parsing. - */ -- dscp = cake_handle_diffserv(skb, -- q->rate_flags & CAKE_FLAG_WASH); - mark = (skb->mark & q->fwmark_mask) >> q->fwmark_shft; -+ wash = !!(q->rate_flags & CAKE_FLAG_WASH); -+ if (wash) -+ dscp = cake_handle_diffserv(skb, wash); - - if (q->tin_mode == CAKE_DIFFSERV_BESTEFFORT) - tin = 0; -@@ -1633,6 +1636,8 @@ static struct cake_tin_data *cake_select - tin = q->tin_order[TC_H_MIN(skb->priority) - 1]; - - else { -+ if (!wash) -+ dscp = cake_handle_diffserv(skb, wash); - tin = q->tin_index[dscp]; - - if (unlikely(tin >= q->tin_cnt)) diff --git a/target/linux/generic/backport-5.4/398-5.8-sch_cake-fix-a-few-style-nits.patch b/target/linux/generic/backport-5.4/398-5.8-sch_cake-fix-a-few-style-nits.patch deleted file mode 100644 index 1160489efb..0000000000 --- a/target/linux/generic/backport-5.4/398-5.8-sch_cake-fix-a-few-style-nits.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 3f608f0c41360b11b04c763f348b712f651c8bac Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@redhat.com> -Date: Thu, 25 Jun 2020 22:12:09 +0200 -Subject: [PATCH] sch_cake: fix a few style nits -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -I spotted a few nits when comparing the in-tree version of sch_cake with -the out-of-tree one: A redundant error variable declaration shadowing an -outer declaration, and an indentation alignment issue. Fix both of these. - -Fixes: 046f6fd5daef ("sched: Add Common Applications Kept Enhanced (cake) qdisc") -Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com> -Signed-off-by: David S. Miller <davem@davemloft.net> -Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> ---- - net/sched/sch_cake.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/net/sched/sch_cake.c -+++ b/net/sched/sch_cake.c -@@ -2717,7 +2717,7 @@ static int cake_init(struct Qdisc *sch, - qdisc_watchdog_init(&q->watchdog, sch); - - if (opt) { -- int err = cake_change(sch, opt, extack); -+ err = cake_change(sch, opt, extack); - - if (err) - return err; -@@ -3034,7 +3034,7 @@ static int cake_dump_class_stats(struct - PUT_STAT_S32(BLUE_TIMER_US, - ktime_to_us( - ktime_sub(now, -- flow->cvars.blue_timer))); -+ flow->cvars.blue_timer))); - } - if (flow->cvars.dropping) { - PUT_STAT_S32(DROP_NEXT_US, diff --git a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch index 23230abfbb..6ee99b4791 100644 --- a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch +++ b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch @@ -54,7 +54,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> #include <linux/mdio.h> #include <linux/io.h> #include <linux/uaccess.h> -@@ -1183,6 +1184,65 @@ phy_standalone_show(struct device *dev, +@@ -1185,6 +1186,65 @@ phy_standalone_show(struct device *dev, static DEVICE_ATTR_RO(phy_standalone); /** @@ -120,7 +120,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> * phy_attach_direct - attach a network device to a given PHY device pointer * @dev: network device to attach * @phydev: Pointer to phy_device to attach -@@ -1259,6 +1319,9 @@ int phy_attach_direct(struct net_device +@@ -1261,6 +1321,9 @@ int phy_attach_direct(struct net_device dev->phydev = phydev; } @@ -130,7 +130,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* Some Ethernet drivers try to connect to a PHY device before * calling register_netdevice() -> netdev_register_kobject() and * does the dev->dev.kobj initialization. Here we only check for -@@ -2287,6 +2350,9 @@ static int phy_remove(struct device *dev +@@ -2289,6 +2352,9 @@ static int phy_remove(struct device *dev phydev->state = PHY_DOWN; mutex_unlock(&phydev->lock); diff --git a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch index 855c4d2aac..f03cd2a984 100644 --- a/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch +++ b/target/linux/generic/backport-5.4/750-v5.5-net-phy-add-support-for-clause-37-auto-negotiation.patch @@ -20,7 +20,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1679,6 +1679,40 @@ static int genphy_config_advert(struct p +@@ -1681,6 +1681,40 @@ static int genphy_config_advert(struct p } /** @@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> * genphy_config_eee_advert - disable unwanted eee mode advertisement * @phydev: target phy_device struct * -@@ -1787,6 +1821,54 @@ int __genphy_config_aneg(struct phy_devi +@@ -1789,6 +1823,54 @@ int __genphy_config_aneg(struct phy_devi EXPORT_SYMBOL(__genphy_config_aneg); /** @@ -116,7 +116,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> * genphy_aneg_done - return auto-negotiation status * @phydev: target phy_device struct * -@@ -1958,6 +2040,63 @@ int genphy_read_status(struct phy_device +@@ -1960,6 +2042,63 @@ int genphy_read_status(struct phy_device EXPORT_SYMBOL(genphy_read_status); /** diff --git a/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch b/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch index c20a00c7f4..a937b52d9d 100644 --- a/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch +++ b/target/linux/generic/backport-5.4/803-v5.8-i2c-pxa-use-official-address-byte-helper.patch @@ -18,7 +18,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c -@@ -675,16 +675,6 @@ static void i2c_pxa_slave_stop(struct px +@@ -674,16 +674,6 @@ static void i2c_pxa_slave_stop(struct px * PXA I2C Master mode */ @@ -35,7 +35,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static inline void i2c_pxa_start_message(struct pxa_i2c *i2c) { u32 icr; -@@ -692,8 +682,8 @@ static inline void i2c_pxa_start_message +@@ -691,8 +681,8 @@ static inline void i2c_pxa_start_message /* * Step 1: target slave address into IDBR */ @@ -46,7 +46,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* * Step 2: initiate the write. -@@ -1006,8 +996,8 @@ static void i2c_pxa_irq_txempty(struct p +@@ -1003,8 +993,8 @@ static void i2c_pxa_irq_txempty(struct p /* * Write the next address. */ diff --git a/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch b/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch index ff631cf352..9f09f9dacb 100644 --- a/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch +++ b/target/linux/generic/backport-5.4/806-v5.8-i2c-pxa-re-arrange-functions-to-flow-better.patch @@ -18,7 +18,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c -@@ -327,7 +327,6 @@ static void i2c_pxa_scream_blue_murder(s +@@ -326,7 +326,6 @@ static void i2c_pxa_scream_blue_murder(s #endif /* ifdef DEBUG / else */ static void i2c_pxa_master_complete(struct pxa_i2c *i2c, int ret); @@ -26,7 +26,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static inline int i2c_pxa_is_slavemode(struct pxa_i2c *i2c) { -@@ -700,34 +699,6 @@ static inline void i2c_pxa_stop_message( +@@ -697,34 +696,6 @@ static inline void i2c_pxa_stop_message( writel(icr, _ICR(i2c)); } @@ -61,7 +61,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* * PXA I2C send master code * 1. Load master code to IDBR and send it. -@@ -756,140 +727,6 @@ static int i2c_pxa_send_mastercode(struc +@@ -753,140 +724,6 @@ static int i2c_pxa_send_mastercode(struc return (timeout == 0) ? I2C_RETRY : 0; } @@ -202,7 +202,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* * i2c_pxa_master_complete - complete the message and wake up. */ -@@ -1096,6 +933,71 @@ static irqreturn_t i2c_pxa_handler(int t +@@ -1093,6 +930,71 @@ static irqreturn_t i2c_pxa_handler(int t return IRQ_HANDLED; } @@ -274,7 +274,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static int i2c_pxa_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) { -@@ -1129,6 +1031,103 @@ static const struct i2c_algorithm i2c_px +@@ -1126,6 +1028,103 @@ static const struct i2c_algorithm i2c_px .functionality = i2c_pxa_functionality, }; diff --git a/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch b/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch index 16518b0e66..f197808d23 100644 --- a/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch +++ b/target/linux/generic/backport-5.4/808-v5.8-i2c-pxa-add-and-use-definitions-for-IBMR-register.patch @@ -27,7 +27,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> #define ICR_START (1 << 0) /* start bit */ #define ICR_STOP (1 << 1) /* stop bit */ #define ICR_ACKNAK (1 << 2) /* send ACK(0) or NAK(1) */ -@@ -335,7 +338,7 @@ static void i2c_pxa_abort(struct pxa_i2c +@@ -334,7 +337,7 @@ static void i2c_pxa_abort(struct pxa_i2c return; } @@ -36,7 +36,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> unsigned long icr = readl(_ICR(i2c)); icr &= ~ICR_START; -@@ -390,7 +393,8 @@ static int i2c_pxa_wait_master(struct px +@@ -389,7 +392,8 @@ static int i2c_pxa_wait_master(struct px * quick check of the i2c lines themselves to ensure they've * gone high... */ @@ -46,7 +46,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> if (i2c_debug > 0) dev_dbg(&i2c->adap.dev, "%s: done\n", __func__); return 1; -@@ -575,7 +579,7 @@ static void i2c_pxa_slave_start(struct p +@@ -574,7 +578,7 @@ static void i2c_pxa_slave_start(struct p timeout = 0x10000; while (1) { @@ -55,7 +55,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> break; timeout--; -@@ -638,7 +642,7 @@ static void i2c_pxa_slave_start(struct p +@@ -637,7 +641,7 @@ static void i2c_pxa_slave_start(struct p timeout = 0x10000; while (1) { diff --git a/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch b/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch index 9809d1dbbb..9b1dee62ce 100644 --- a/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch +++ b/target/linux/generic/backport-5.4/809-v5.8-i2c-pxa-always-set-fm-and-hs-members-for-each-type.patch @@ -53,7 +53,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> }, [REGS_A3700] = { .ibmr = 0x00, -@@ -1232,8 +1240,8 @@ static int i2c_pxa_probe(struct platform +@@ -1229,8 +1237,8 @@ static int i2c_pxa_probe(struct platform i2c->reg_idbr = i2c->reg_base + pxa_reg_layout[i2c_type].idbr; i2c->reg_icr = i2c->reg_base + pxa_reg_layout[i2c_type].icr; i2c->reg_isr = i2c->reg_base + pxa_reg_layout[i2c_type].isr; diff --git a/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch b/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch index 70ef8f35ab..02565229d8 100644 --- a/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch +++ b/target/linux/generic/backport-5.4/811-v5.8-i2c-pxa-move-DT-IDs-along-side-platform-IDs.patch @@ -32,7 +32,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static const struct platform_device_id i2c_pxa_id_table[] = { { "pxa2xx-i2c", REGS_PXA2XX }, { "pxa3xx-pwri2c", REGS_PXA3XX }, -@@ -1181,15 +1190,6 @@ static const struct i2c_algorithm i2c_px +@@ -1178,15 +1187,6 @@ static const struct i2c_algorithm i2c_px .functionality = i2c_pxa_functionality, }; diff --git a/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch b/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch deleted file mode 100644 index 0afb29472b..0000000000 --- a/target/linux/generic/backport-5.4/812-v5.8-i2c-pxa-fix-i2c_pxa_scream_blue_murder-debug-output.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Russell King <rmk+kernel@armlinux.org.uk> -Bcc: linux@mail.armlinux.org.uk -Cc: linux-i2c@vger.kernel.org -Subject: [PATCH 10/17] i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output -MIME-Version: 1.0 -Content-Disposition: inline -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset="utf-8" - -The IRQ log output is supposed to appear on a single line. However, -commit 3a2dc1677b60 ("i2c: pxa: Update debug function to dump more info -on error") resulted in it being printed one-entry-per-line, which is -excessively long. - -Fixing this is not a trivial matter; using pr_cont() doesn't work as -the previous dev_dbg() may not have been compiled in, or may be -dynamic. - -Since the rest of this function output is at error level, and is also -debug output, promote this to error level as well to avoid this -problem. - -Reduce the number of always zero prefix digits to save screen real- -estate. - -Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> ---- - drivers/i2c/busses/i2c-pxa.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - ---- a/drivers/i2c/busses/i2c-pxa.c -+++ b/drivers/i2c/busses/i2c-pxa.c -@@ -364,11 +364,10 @@ static void i2c_pxa_scream_blue_murder(s - dev_err(dev, "IBMR: %08x IDBR: %08x ICR: %08x ISR: %08x\n", - readl(_IBMR(i2c)), readl(_IDBR(i2c)), readl(_ICR(i2c)), - readl(_ISR(i2c))); -- dev_dbg(dev, "log: "); -+ dev_err(dev, "log:"); - for (i = 0; i < i2c->irqlogidx; i++) -- pr_debug("[%08x:%08x] ", i2c->isrlog[i], i2c->icrlog[i]); -- -- pr_debug("\n"); -+ pr_cont(" [%03x:%05x]", i2c->isrlog[i], i2c->icrlog[i]); -+ pr_cont("\n"); - } - - #else /* ifdef DEBUG */ diff --git a/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch b/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch index d5fb1d2cbe..2debd4c86b 100644 --- a/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch +++ b/target/linux/generic/backport-5.4/815-v5.8-i2c-pxa-consolidate-i2c_pxa_-xfer-implementations.patch @@ -18,7 +18,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c -@@ -1061,18 +1061,20 @@ static int i2c_pxa_do_xfer(struct pxa_i2 +@@ -1059,18 +1059,20 @@ static int i2c_pxa_do_xfer(struct pxa_i2 return ret; } @@ -44,7 +44,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> udelay(100); } i2c_pxa_scream_blue_murder(i2c, "exhausted retries"); -@@ -1082,6 +1084,14 @@ static int i2c_pxa_xfer(struct i2c_adapt +@@ -1080,6 +1082,14 @@ static int i2c_pxa_xfer(struct i2c_adapt return ret; } @@ -59,7 +59,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> static u32 i2c_pxa_functionality(struct i2c_adapter *adap) { return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL | -@@ -1165,7 +1175,6 @@ static int i2c_pxa_pio_xfer(struct i2c_a +@@ -1163,7 +1173,6 @@ static int i2c_pxa_pio_xfer(struct i2c_a struct i2c_msg msgs[], int num) { struct pxa_i2c *i2c = adap->algo_data; @@ -67,7 +67,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> /* If the I2C controller is disabled we need to reset it (probably due to a suspend/resume destroying state). We do -@@ -1174,20 +1183,7 @@ static int i2c_pxa_pio_xfer(struct i2c_a +@@ -1172,20 +1181,7 @@ static int i2c_pxa_pio_xfer(struct i2c_a if (!(readl(_ICR(i2c)) & ICR_IUE)) i2c_pxa_reset(i2c); diff --git a/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch b/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch index f56e5b647f..63e6db80ad 100644 --- a/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch +++ b/target/linux/generic/backport-5.4/816-v5.8-i2c-pxa-avoid-complaints-with-non-responsive-slaves.patch @@ -33,7 +33,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> #define BUS_ERROR (-EREMOTEIO) #define XFER_NAKED (-ECONNREFUSED) #define I2C_RETRY (-2000) /* an error has occurred retry transmit */ -@@ -840,7 +841,7 @@ static void i2c_pxa_irq_txempty(struct p +@@ -838,7 +839,7 @@ static void i2c_pxa_irq_txempty(struct p */ if (isr & ISR_ACKNAK) { if (i2c->msg_ptr == 0 && i2c->msg_idx == 0) @@ -42,7 +42,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> else ret = XFER_NAKED; } -@@ -1068,16 +1069,19 @@ static int i2c_pxa_internal_xfer(struct +@@ -1066,16 +1067,19 @@ static int i2c_pxa_internal_xfer(struct { int ret, i; diff --git a/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch b/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch index 24cda47789..37a77b6c5c 100644 --- a/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch +++ b/target/linux/generic/backport-5.4/817-v5.8-i2c-pxa-ensure-timeout-messages-are-unique.patch @@ -16,7 +16,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c -@@ -1054,7 +1054,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2 +@@ -1052,7 +1052,7 @@ static int i2c_pxa_do_xfer(struct pxa_i2 ret = i2c->msg_idx; if (!timeout && i2c->msg_num) { @@ -25,7 +25,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> ret = I2C_RETRY; } -@@ -1124,7 +1124,7 @@ static int i2c_pxa_pio_set_master(struct +@@ -1122,7 +1122,7 @@ static int i2c_pxa_pio_set_master(struct if (timeout < 0) { show_state(i2c); dev_err(&i2c->adap.dev, @@ -34,7 +34,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> return I2C_RETRY; } -@@ -1168,7 +1168,7 @@ static int i2c_pxa_do_pio_xfer(struct px +@@ -1166,7 +1166,7 @@ static int i2c_pxa_do_pio_xfer(struct px out: if (timeout == 0) { diff --git a/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch b/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch index f14bb30e38..5438588ded 100644 --- a/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch +++ b/target/linux/generic/backport-5.4/818-v5.8-i2c-pxa-remove-some-unnecessary-debug.patch @@ -20,7 +20,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> --- a/drivers/i2c/busses/i2c-pxa.c +++ b/drivers/i2c/busses/i2c-pxa.c -@@ -1116,10 +1116,8 @@ static int i2c_pxa_pio_set_master(struct +@@ -1114,10 +1114,8 @@ static int i2c_pxa_pio_set_master(struct /* * Wait for the bus to become free. */ diff --git a/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch b/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch deleted file mode 100644 index 70fbffc47f..0000000000 --- a/target/linux/generic/backport-5.4/819-v5.8-i2c-pxa-clear-all-master-action-bits-in-i2c_pxa_stop.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Russell King <rmk+kernel@armlinux.org.uk> -Bcc: linux@mail.armlinux.org.uk -Subject: [PATCH 5/7] i2c: pxa: clear all master action bits in - i2c_pxa_stop_message() -MIME-Version: 1.0 -Content-Disposition: inline -Content-Transfer-Encoding: 8bit -Content-Type: text/plain; charset="utf-8" - -If we timeout during a message transfer, the control register may -contain bits that cause an action to be set. Read-modify-writing the -register leaving these bits set may trigger the hardware to attempt -one of these actions unintentionally. - -Always clear these bits when cleaning up after a message or after -a timeout. - -Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> ---- - drivers/i2c/busses/i2c-pxa.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - ---- a/drivers/i2c/busses/i2c-pxa.c -+++ b/drivers/i2c/busses/i2c-pxa.c -@@ -754,11 +754,9 @@ static inline void i2c_pxa_stop_message( - { - u32 icr; - -- /* -- * Clear the STOP and ACK flags -- */ -+ /* Clear the START, STOP, ACK, TB and MA flags */ - icr = readl(_ICR(i2c)); -- icr &= ~(ICR_STOP | ICR_ACKNAK); -+ icr &= ~(ICR_START | ICR_STOP | ICR_ACKNAK | ICR_TB | ICR_MA); - writel(icr, _ICR(i2c)); - } - diff --git a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch index 9950f156d3..0dca235193 100644 --- a/target/linux/generic/hack-5.4/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-5.4/259-regmap_dynamic.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> #include <linux/mutex.h> #include <linux/err.h> #include <linux/of.h> -@@ -3124,3 +3125,5 @@ static int __init regmap_initcall(void) +@@ -3125,3 +3126,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-5.4/260-crypto_test_dependencies.patch b/target/linux/generic/hack-5.4/260-crypto_test_dependencies.patch index c9caa2733a..af96599ce8 100644 --- a/target/linux/generic/hack-5.4/260-crypto_test_dependencies.patch +++ b/target/linux/generic/hack-5.4/260-crypto_test_dependencies.patch @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> depends on DEBUG_KERNEL && !CRYPTO_MANAGER_DISABLE_TESTS --- a/crypto/algboss.c +++ b/crypto/algboss.c -@@ -242,8 +242,12 @@ static int cryptomgr_schedule_test(struc +@@ -240,8 +240,12 @@ static int cryptomgr_schedule_test(struc type = alg->cra_flags; /* Do not test internal algorithms. */ diff --git a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch index a4a805fbe0..ccedf561e2 100644 --- a/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch +++ b/target/linux/generic/hack-5.4/661-use_fq_codel_by_default.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> EXPORT_SYMBOL(default_qdisc_ops); /* Main transmission queue. */ -@@ -1034,12 +1034,12 @@ static void attach_one_default_qdisc(str +@@ -1035,12 +1035,12 @@ static void attach_one_default_qdisc(str void *_unused) { struct Qdisc *qdisc; diff --git a/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch b/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch index 149a923dcb..27946f8cec 100644 --- a/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch +++ b/target/linux/generic/hack-5.4/662-remove_pfifo_fast.patch @@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -594,211 +594,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea +@@ -595,211 +595,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea .owner = THIS_MODULE, }; diff --git a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch index f58b190025..4201dfe7fc 100644 --- a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1909,6 +1909,9 @@ int genphy_update_link(struct phy_device +@@ -1911,6 +1911,9 @@ int genphy_update_link(struct phy_device if (bmcr & BMCR_ANRESTART) goto done; diff --git a/target/linux/generic/hack-5.4/721-phy_packets.patch b/target/linux/generic/hack-5.4/721-phy_packets.patch index 07845da1ef..b3008cbbcf 100644 --- a/target/linux/generic/hack-5.4/721-phy_packets.patch +++ b/target/linux/generic/hack-5.4/721-phy_packets.patch @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3195,10 +3195,20 @@ static int xmit_one(struct sk_buff *skb, +@@ -3191,10 +3191,20 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); diff --git a/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch b/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch index 3a1e23480c..12ad4c684a 100644 --- a/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch @@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie) { struct dst_entry *dst = __sk_dst_get(sk); -@@ -1746,9 +1759,11 @@ static void __sk_free(struct sock *sk) +@@ -1747,9 +1760,11 @@ static void __sk_free(struct sock *sk) if (likely(sk->sk_net_refcnt)) sock_inuse_add(sock_net(sk), -1); diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index 2a1106e2a9..07ee52af44 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3606,6 +3606,8 @@ static __net_initdata struct pernet_oper +@@ -3608,6 +3608,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch b/target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch index 3e48a3b597..3fe1bb5d17 100644 --- a/target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch +++ b/target/linux/generic/pending-5.4/110-ehci_hcd_ignore_oc.patch @@ -48,7 +48,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org> /* --- a/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c -@@ -206,6 +206,8 @@ static int ehci_platform_probe(struct pl +@@ -319,6 +319,8 @@ static int ehci_platform_probe(struct pl hcd->has_tt = 1; if (pdata->reset_on_resume) priv->reset_on_resume = true; diff --git a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index aae3d35f46..5acadeceb1 100644 --- a/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> __u16 tc_index; /* traffic control index */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -5471,6 +5471,9 @@ static enum gro_result dev_gro_receive(s +@@ -5469,6 +5469,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (netif_elide_gro(skb->dev)) goto normal; -@@ -7264,6 +7267,48 @@ static void __netdev_adjacent_dev_unlink +@@ -7262,6 +7265,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -7314,6 +7359,7 @@ static int __netdev_upper_dev_link(struc +@@ -7312,6 +7357,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -7407,6 +7453,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -7405,6 +7451,7 @@ void netdev_upper_dev_unlink(struct net_ __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -8137,6 +8184,7 @@ int dev_set_mac_address(struct net_devic +@@ -8135,6 +8182,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch index 246bb8f94e..b74b04ca59 100644 --- a/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1463,6 +1463,9 @@ void phy_detach(struct phy_device *phyde +@@ -1465,6 +1465,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = NULL; struct mii_bus *bus; diff --git a/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch b/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch index e993b61eae..9e72313ec9 100644 --- a/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch +++ b/target/linux/generic/pending-5.4/820-libata-Assign-OF-node-to-the-SCSI-device.patch @@ -41,7 +41,7 @@ ChangeLog v1->v2: #include "libata.h" #include "libata-transport.h" -@@ -4570,6 +4571,34 @@ int ata_scsi_add_hosts(struct ata_host * +@@ -4573,6 +4574,34 @@ int ata_scsi_add_hosts(struct ata_host * return rc; } @@ -76,7 +76,7 @@ ChangeLog v1->v2: void ata_scsi_scan_host(struct ata_port *ap, int sync) { int tries = 5; -@@ -4595,6 +4624,7 @@ void ata_scsi_scan_host(struct ata_port +@@ -4598,6 +4627,7 @@ void ata_scsi_scan_host(struct ata_port NULL); if (!IS_ERR(sdev)) { dev->sdev = sdev; diff --git a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch index 1d4334e5f9..783f8ea847 100644 --- a/target/linux/generic/pending-5.4/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.4/834-ledtrig-libata.patch @@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> depends on ACPI --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c -@@ -715,6 +715,19 @@ u64 ata_tf_read_block(const struct ata_t +@@ -714,6 +714,19 @@ u64 ata_tf_read_block(const struct ata_t return block; } @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -5116,6 +5129,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5115,6 +5128,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -6050,6 +6066,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -6049,6 +6065,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> ata_sff_port_init(ap); return ap; -@@ -6085,6 +6104,12 @@ static void ata_host_release(struct kref +@@ -6084,6 +6103,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> kfree(ap); host->ports[i] = NULL; } -@@ -6548,7 +6573,23 @@ int ata_host_register(struct ata_host *h +@@ -6547,7 +6572,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } @@ -124,17 +124,17 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> rc = ata_tport_add(host->dev,host->ports[i]); --- a/include/linux/libata.h +++ b/include/linux/libata.h -@@ -22,6 +22,9 @@ - #include <linux/acpi.h> +@@ -23,6 +23,9 @@ #include <linux/cdrom.h> #include <linux/sched.h> + #include <linux/async.h> +#ifdef CONFIG_ATA_LEDS +#include <linux/leds.h> +#endif /* * Define if arch has non-standard setup. This is a _PCI_ standard -@@ -876,6 +879,12 @@ struct ata_port { +@@ -879,6 +882,12 @@ struct ata_port { #ifdef CONFIG_ATA_ACPI struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */ #endif |