kernel: Update kernel 4.19 to version 4.19.131
authorHauke Mehrtens <hauke@hauke-m.de>
Fri, 3 Jul 2020 23:34:26 +0000 (01:34 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 4 Jul 2020 19:12:42 +0000 (21:12 +0200)
Fixes:
- CVE-2020-10757

The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was
backported which needed some adaptations to other code.

Run tested: ath79
Build tested: ath79

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
54 files changed:
include/kernel-version.mk
target/linux/apm821xx/patches-4.19/301-fix-memory-map-wndr4700.patch
target/linux/ath79/files/drivers/mtd/nand/raw/ar934x_nand.c
target/linux/ath79/files/drivers/mtd/nand/raw/nand_rb4xx.c
target/linux/ath79/patches-4.19/0005-usb-add-more-OF-quirk-properties.patch
target/linux/ath79/patches-4.19/910-unaligned_access_hacks.patch
target/linux/bcm47xx/patches-4.19/032-v5.4-MIPS-BCM47XX-Add-support-for-Netgear-R6200v1.patch
target/linux/bcm53xx/patches-4.19/700-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
target/linux/cns3xxx/patches-4.19/130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
target/linux/generic/backport-4.19/095-Allow-class-e-address-assignment-via-ifconfig-ioctl.patch
target/linux/generic/backport-4.19/390-v5.1-sch_cake-Make-the-dual-modes-fairer.patch
target/linux/generic/backport-4.19/391-v5.1-sch_cake-Permit-use-of-connmarks-as-tin-classifiers.patch
target/linux/generic/backport-4.19/392-v5.1-sch_cake-Interpret-fwmark-parameter-as-a-bitmask.patch
target/linux/generic/backport-4.19/393-v5.5-sch_cake-drop-unused-variable-tin_quantum_prio.patch
target/linux/generic/backport-4.19/394-v5.4-sch_cake-Add-missing-NLA-policy-entry-TCA_CAKE_SPLIT.patch
target/linux/generic/backport-4.19/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch [deleted file]
target/linux/generic/backport-4.19/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch [deleted file]
target/linux/generic/backport-4.19/398-5.8-sch_cake-fix-a-few-style-nits.patch [deleted file]
target/linux/generic/backport-4.19/702-v4.20-net-ethernet-Add-helper-for-MACs-which-support-asym-.patch
target/linux/generic/backport-4.19/703-v4.20-net-ethernet-Add-helper-for-set_pauseparam-for-Asym-.patch
target/linux/generic/backport-4.19/704-v4.20-net-phy-Stop-with-excessive-soft-reset.patch
target/linux/generic/backport-4.19/737-v5.5-net-phy-add-core-phylib-sfp-support.patch
target/linux/generic/backport-4.19/740-v5.5-net-phy-avoid-matching-all-ones-clause-45-PHY-IDs.patch
target/linux/generic/backport-4.19/825-v5.8-spi-rb4xx-null-pointer-bug-fix.patch
target/linux/generic/backport-4.19/826-v5.8-spi-rb4xx-update-driver-to-be-device-tree-aware.patch
target/linux/generic/hack-4.19/207-disable-modorder.patch
target/linux/generic/hack-4.19/220-gc_sections.patch
target/linux/generic/hack-4.19/259-regmap_dynamic.patch
target/linux/generic/hack-4.19/260-crypto_test_dependencies.patch
target/linux/generic/hack-4.19/661-use_fq_codel_by_default.patch
target/linux/generic/hack-4.19/662-remove_pfifo_fast.patch
target/linux/generic/hack-4.19/702-phy_add_aneg_done_function.patch
target/linux/generic/hack-4.19/721-phy_packets.patch
target/linux/generic/hack-4.19/901-debloat_sock_diag.patch
target/linux/generic/hack-4.19/902-debloat_proc.patch
target/linux/generic/pending-4.19/110-ehci_hcd_ignore_oc.patch
target/linux/generic/pending-4.19/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
target/linux/generic/pending-4.19/201-extra_optimization.patch
target/linux/generic/pending-4.19/304-mips_disable_fpu.patch
target/linux/generic/pending-4.19/332-arc-add-OWRTDTB-section.patch
target/linux/generic/pending-4.19/644-net-pppoe-support-hardware-flow-table-offload.patch
target/linux/generic/pending-4.19/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-4.19/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/pending-4.19/703-phy-add-detach-callback-to-struct-phy_driver.patch
target/linux/generic/pending-4.19/834-ledtrig-libata.patch
target/linux/ipq40xx/patches-4.19/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
target/linux/ipq806x/patches-4.19/0072-add-ipq806x-with-no-clocks.patch
target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch
target/linux/mediatek/patches-4.19/0101-pci-mediatek-backport-fix-pcie.patch
target/linux/mediatek/patches-4.19/0900-bt-mtk-serial-fix.patch
target/linux/mvebu/patches-4.19/523-Revert-PCI-aardvark-Convert-to-use-pci_host_probe.patch
target/linux/mvebu/patches-4.19/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch [deleted file]
target/linux/x86/patches-4.19/200-pcengines-apu2-reboot.patch

index 748b7f73df9c5fbefdc2def30745365df915346b..61eaedd3d9d14f3fe24b263e03ac5298965241e2 100644 (file)
@@ -7,11 +7,11 @@ ifdef CONFIG_TESTING_KERNEL
 endif
 
 LINUX_VERSION-4.14 = .187
-LINUX_VERSION-4.19 = .123
+LINUX_VERSION-4.19 = .131
 LINUX_VERSION-5.4 = .48
 
 LINUX_KERNEL_HASH-4.14.187 = 5b223475eaeea196aa7e127d3f253bca5c35d8afdc72ca75230ce1ecdd1454bd
-LINUX_KERNEL_HASH-4.19.123 = a79914d31a8d8c6b0e2bb0f2b143d615fe8a6c4dd2e0f36e97aa20efd69a993f
+LINUX_KERNEL_HASH-4.19.131 = 19dfb9f6cc4ba30104b65dcce7d78240a4ae188cb366747d5f8eae35e98964ba
 LINUX_KERNEL_HASH-5.4.48 = bf20ddafcd04c114d34654bb10d1eb74f1864f3d14b676c6f0d42d60bbcf1d53
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
index 6eb04b2c25167d9b77a8fc55cc93130b102cb9e8..0c9fb370f1cbf5c3150d7e0d400578d50241d141 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/powerpc/platforms/4xx/pci.c
 +++ b/arch/powerpc/platforms/4xx/pci.c
-@@ -1905,9 +1905,9 @@ static void __init ppc4xx_configure_pcie
+@@ -1903,9 +1903,9 @@ static void __init ppc4xx_configure_pcie
                 * if it works
                 */
                out_le32(mbase + PECFG_PIM0LAL, 0x00000000);
index 63abc4a8d8b04c3e611f882eabdffaf6c9f727a9..b35343c8d92693aa498816c307f9146a69568bdd 100644 (file)
@@ -1535,9 +1535,12 @@ static int ar934x_nfc_probe(struct platform_device *pdev)
                goto err_free_buf;
        }
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 130)
        nand->dummy_controller.ops = &ar934x_nfc_controller_ops;
        ret = nand_scan(mtd, 1);
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)
+       nand->dummy_controller.ops = &ar934x_nfc_controller_ops;
+       ret = nand_scan(nand, 1);
 #else
        nand->legacy.dummy_controller.ops = &ar934x_nfc_controller_ops;
        ret = nand_scan(nand, 1);
@@ -1569,12 +1572,7 @@ static int ar934x_nfc_remove(struct platform_device *pdev)
 
        nfc = platform_get_drvdata(pdev);
        if (nfc) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 20, 0)
-               mtd = ar934x_nfc_to_mtd(nfc);
-               nand_release(mtd);
-#else
                nand_release(&nfc->nand_chip);
-#endif
                ar934x_nfc_free_buf(nfc);
        }
 
index 922d7095cb6348cc518b3450288fc48d8c521019..382af09978a55309eb9b39ab696f394a27c714a2 100644 (file)
@@ -232,7 +232,11 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
        nand->chip.dev_ready    = rb4xx_nand_dev_ready;
        nand->chip.chip_delay   = 25;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,19,130)
        ret = nand_scan(mtd, 1);
+#else
+       ret = nand_scan(&nand->chip, 1);
+#endif
 #else
        nand->chip.legacy.read_byte     = rb4xx_nand_read_byte;
        nand->chip.legacy.write_buf     = rb4xx_nand_write_buf;
@@ -248,11 +252,7 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
 
        ret = mtd_device_register(mtd, NULL, 0);
        if (ret) {
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
-               nand_release(mtd);
-#else
                nand_release(&nand->chip);
-#endif
                return ret;
        }
 
@@ -263,11 +263,7 @@ static int rb4xx_nand_remove(struct platform_device *pdev)
 {
        struct rb4xx_nand *nand = platform_get_drvdata(pdev);
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
-       nand_release(nand_to_mtd(&nand->chip));
-#else
        nand_release(&nand->chip);
-#endif
 
        return 0;
 }
index 52d77c805cff3923c198e95a2f513ed58923838f..82e563b29ca0923ff75bed586654993a0ee27cdb 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
 
 --- a/drivers/usb/host/ehci-platform.c
 +++ b/drivers/usb/host/ehci-platform.c
-@@ -161,6 +161,11 @@ static int ehci_platform_probe(struct pl
+@@ -271,6 +271,11 @@ static int ehci_platform_probe(struct pl
        ehci = hcd_to_ehci(hcd);
  
        if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
index 0efb33676a4934d00d3b0fbda1db8ab44761809e..61695ae55f377b83435a1bdc3ca3bc5b0399a867 100644 (file)
                case IPV6_2292HOPOPTS:
 --- a/net/ipv6/ip6_gre.c
 +++ b/net/ipv6/ip6_gre.c
-@@ -452,7 +452,7 @@ static void ip6gre_err(struct sk_buff *s
+@@ -455,7 +455,7 @@ static void ip6gre_err(struct sk_buff *s
                return;
        ipv6h = (const struct ipv6hdr *)skb->data;
        greh = (const struct gre_base_hdr *)(skb->data + offset);
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3896,14 +3896,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3906,14 +3906,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
index 883b7216ce0f08c95e66a079fdc5628b049f999e..c09c65c5fded39251da0be91fe0863189bfb3a96 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm47xx/board.c
 +++ b/arch/mips/bcm47xx/board.c
-@@ -160,6 +160,7 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_board_id[] __initconst = {
+@@ -160,6 +160,7 @@ struct bcm47xx_board_type_list1 bcm47xx_
        {{BCM47XX_BOARD_LUXUL_XVW_P30_V1, "Luxul XVW-P30 V1"}, "luxul_xvwp30_v1"},
        {{BCM47XX_BOARD_LUXUL_XWR_600_V1, "Luxul XWR-600 V1"}, "luxul_xwr600_v1"},
        {{BCM47XX_BOARD_LUXUL_XWR_1750_V1, "Luxul XWR-1750 V1"}, "luxul_xwr1750_v1"},
        {{BCM47XX_BOARD_NETGEAR_WGR614_V10, "Netgear WGR614 V10"}, "U12H139T01_NETGEAR"},
 --- a/arch/mips/bcm47xx/buttons.c
 +++ b/arch/mips/bcm47xx/buttons.c
-@@ -384,6 +384,13 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __initconst = {
-
+@@ -385,6 +385,13 @@ bcm47xx_buttons_motorola_wr850gv2v3[] __
  /* Netgear */
-
-+static const struct gpio_keys_button
+ static const struct gpio_keys_button
 +bcm47xx_buttons_netgear_r6200_v1[] __initconst = {
 +      BCM47XX_GPIO_KEY(2, KEY_RFKILL),
 +      BCM47XX_GPIO_KEY(3, KEY_RESTART),
 +      BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
 +};
 +
- static const struct gpio_keys_button
++static const struct gpio_keys_button
  bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
        BCM47XX_GPIO_KEY(4, KEY_RESTART),
-@@ -664,6 +671,9 @@ int __init bcm47xx_buttons_register(void)
+       BCM47XX_GPIO_KEY(6, KEY_WPS_BUTTON),
+@@ -664,6 +671,9 @@ int __init bcm47xx_buttons_register(void
                err = bcm47xx_copy_bdata(bcm47xx_buttons_motorola_wr850gv2v3);
                break;
-
 +      case BCM47XX_BOARD_NETGEAR_R6200_V1:
 +              err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_r6200_v1);
 +              break;
@@ -39,7 +39,7 @@
 @@ -98,6 +98,7 @@ enum bcm47xx_board {
        BCM47XX_BOARD_MOTOROLA_WR850GP,
        BCM47XX_BOARD_MOTOROLA_WR850GV2V3,
-
 +      BCM47XX_BOARD_NETGEAR_R6200_V1,
        BCM47XX_BOARD_NETGEAR_WGR614V8,
        BCM47XX_BOARD_NETGEAR_WGR614V9,
index 91bb4fae116fa584ddea6c1b693119615b583c83..a5f13afe02d229c4b579bc74620bd381b9ad79cb 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
  
  #include "b53_regs.h"
  #include "b53_priv.h"
-@@ -1579,6 +1580,28 @@ static int b53_switch_init(struct b53_de
+@@ -1587,6 +1588,28 @@ static int b53_switch_init(struct b53_de
                        return ret;
        }
  
index 3276000fe45174845387100e230a96169361d450..67aa8df7fe2e892bdf1085fff6e00f189901990c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/pci/probe.c
 +++ b/drivers/pci/probe.c
-@@ -2634,7 +2634,8 @@ static void pcie_write_mrrs(struct pci_d
+@@ -2655,7 +2655,8 @@ static void pcie_write_mrrs(struct pci_d
         * In the "safe" case, do not configure the MRRS.  There appear to be
         * issues with setting MRRS to 0 on a number of devices.
         */
index 24f796dcfa7ea594f1ea74eac3e6e34ed318c2ed..e473c8918b49987e0db18fe87c26094880693b06 100644 (file)
@@ -48,7 +48,7 @@ Reviewed-by: John Gilmore <gnu@toad.com>
  #define       INADDR_ANY              ((unsigned long int) 0x00000000)
 --- a/net/ipv4/devinet.c
 +++ b/net/ipv4/devinet.c
-@@ -954,7 +954,7 @@ static int inet_abc_len(__be32 addr)
+@@ -955,7 +955,7 @@ static int inet_abc_len(__be32 addr)
  {
        int rc = -1;    /* Something else, probably a multicast. */
  
@@ -57,7 +57,7 @@ Reviewed-by: John Gilmore <gnu@toad.com>
                rc = 0;
        else {
                __u32 haddr = ntohl(addr);
-@@ -965,6 +965,8 @@ static int inet_abc_len(__be32 addr)
+@@ -966,6 +966,8 @@ static int inet_abc_len(__be32 addr)
                        rc = 16;
                else if (IN_CLASSC(haddr))
                        rc = 24;
index cd946001523503949a08822d98f6699026885cf9..0454565747ea91357a4498adf305ed25d4b04fd4 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
                        q->flows[reduced_hash].dsthost = dsthost_idx;
                }
        }
-@@ -1793,20 +1797,30 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1817,20 +1821,30 @@ static s32 cake_enqueue(struct sk_buff *
                b->sparse_flow_count++;
  
                if (cake_dsrc(q->flow_mode))
@@ -116,7 +116,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        }
  
        if (q->buffer_used > q->buffer_max_used)
-@@ -1974,23 +1988,8 @@ retry:
+@@ -1998,23 +2012,8 @@ retry:
        dsthost = &b->hosts[flow->dsthost];
        host_load = 1;
  
@@ -140,7 +140,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
                /* Keep all flows with deficits out of the sparse and decaying
                 * rotations.  No non-empty flow can go into the decaying
                 * rotation, so they can't get deficits
-@@ -1999,6 +1998,13 @@ retry:
+@@ -2023,6 +2022,13 @@ retry:
                        if (flow->head) {
                                b->sparse_flow_count--;
                                b->bulk_flow_count++;
@@ -154,7 +154,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
                                flow->set = CAKE_SET_BULK;
                        } else {
                                /* we've moved it to the bulk rotation for
-@@ -2008,6 +2014,22 @@ retry:
+@@ -2032,6 +2038,22 @@ retry:
                                flow->set = CAKE_SET_SPARSE_WAIT;
                        }
                }
@@ -177,7 +177,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
                goto retry;
        }
  
-@@ -2028,6 +2050,13 @@ retry:
+@@ -2052,6 +2074,13 @@ retry:
                                               &b->decaying_flows);
                                if (flow->set == CAKE_SET_BULK) {
                                        b->bulk_flow_count--;
@@ -191,7 +191,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
                                        b->decaying_flow_count++;
                                } else if (flow->set == CAKE_SET_SPARSE ||
                                           flow->set == CAKE_SET_SPARSE_WAIT) {
-@@ -2041,14 +2070,19 @@ retry:
+@@ -2065,14 +2094,19 @@ retry:
                                if (flow->set == CAKE_SET_SPARSE ||
                                    flow->set == CAKE_SET_SPARSE_WAIT)
                                        b->sparse_flow_count--;
index 9ac1388c98a6ed34b0e2e89c3f608d8d818949e1..638a2b4529660c02bd5d167cb0a45ede56aaf78f 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  };
  
  /* COBALT operates the Codel and BLUE algorithms in parallel, in order to
-@@ -2623,6 +2624,13 @@ static int cake_change(struct Qdisc *sch
+@@ -2647,6 +2648,13 @@ static int cake_change(struct Qdisc *sch
                        q->rate_flags &= ~CAKE_FLAG_SPLIT_GSO;
        }
  
@@ -105,7 +105,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        if (q->tins) {
                sch_tree_lock(sch);
                cake_reconfigure(sch);
-@@ -2782,6 +2790,10 @@ static int cake_dump(struct Qdisc *sch,
+@@ -2806,6 +2814,10 @@ static int cake_dump(struct Qdisc *sch,
                        !!(q->rate_flags & CAKE_FLAG_SPLIT_GSO)))
                goto nla_put_failure;
  
index 325f5719d7673f342077da3014143d2c3657ebdd..6ba0897b34ef7e0068a570983ddf23a0d4cdf0dd 100644 (file)
@@ -52,24 +52,24 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  };
  
  /* COBALT operates the Codel and BLUE algorithms in parallel, in order to
-@@ -1554,7 +1556,7 @@ static struct cake_tin_data *cake_select
+@@ -1573,7 +1575,7 @@ static struct cake_tin_data *cake_select
                                             struct sk_buff *skb)
  {
        struct cake_sched_data *q = qdisc_priv(sch);
 -      u32 tin;
 +      u32 tin, mark;
+       bool wash;
        u8 dscp;
  
-       /* Tin selection: Default to diffserv-based selection, allow overriding
-@@ -1562,6 +1564,7 @@ static struct cake_tin_data *cake_select
-        */
-       dscp = cake_handle_diffserv(skb,
-                                   q->rate_flags & CAKE_FLAG_WASH);
+@@ -1584,6 +1586,7 @@ static struct cake_tin_data *cake_select
+       wash = !!(q->rate_flags & CAKE_FLAG_WASH);
+       if (wash)
+               dscp = cake_handle_diffserv(skb, wash);
 +      mark = (skb->mark & q->fwmark_mask) >> q->fwmark_shft;
  
        if (q->tin_mode == CAKE_DIFFSERV_BESTEFFORT)
                tin = 0;
-@@ -2178,6 +2181,7 @@ static const struct nla_policy cake_poli
+@@ -2202,6 +2205,7 @@ static const struct nla_policy cake_poli
        [TCA_CAKE_MPU]           = { .type = NLA_U32 },
        [TCA_CAKE_INGRESS]       = { .type = NLA_U32 },
        [TCA_CAKE_ACK_FILTER]    = { .type = NLA_U32 },
@@ -77,7 +77,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  };
  
  static void cake_set_rate(struct cake_tin_data *b, u64 rate, u32 mtu,
-@@ -2625,10 +2629,8 @@ static int cake_change(struct Qdisc *sch
+@@ -2649,10 +2653,8 @@ static int cake_change(struct Qdisc *sch
        }
  
        if (tb[TCA_CAKE_FWMARK]) {
@@ -90,7 +90,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
        }
  
        if (q->tins) {
-@@ -2790,8 +2792,7 @@ static int cake_dump(struct Qdisc *sch,
+@@ -2814,8 +2816,7 @@ static int cake_dump(struct Qdisc *sch,
                        !!(q->rate_flags & CAKE_FLAG_SPLIT_GSO)))
                goto nla_put_failure;
  
index 33e5c54b8ccf1d31ecd6c7592a9305dfcb8a049a..023844f5e67b3b0e12573209c94ec0e8d8ce3b09 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
        s32     tin_deficit;
        u32     tin_backlog;
        u32     tin_dropped;
-@@ -1916,7 +1915,7 @@ begin:
+@@ -1940,7 +1939,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;
  
-@@ -2237,8 +2236,7 @@ static int cake_config_besteffort(struct
+@@ -2261,8 +2260,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;
  }
-@@ -2249,8 +2247,7 @@ static int cake_config_precedence(struct
+@@ -2273,8 +2271,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;
-@@ -2263,18 +2260,14 @@ static int cake_config_precedence(struct
+@@ -2287,18 +2284,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;
-@@ -2343,8 +2336,7 @@ static int cake_config_diffserv8(struct
+@@ -2367,8 +2360,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;
-@@ -2360,18 +2352,14 @@ static int cake_config_diffserv8(struct
+@@ -2384,18 +2376,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;
-@@ -2410,17 +2398,11 @@ static int cake_config_diffserv4(struct
+@@ -2434,17 +2422,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;
  }
-@@ -2451,15 +2433,10 @@ static int cake_config_diffserv3(struct
+@@ -2475,15 +2457,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));
  
index 32f0e1ae8972cbf4fb71ee36cea36cb3cd503a99..bc063dcccabf2339c8ba6978a881926c8a152400 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
 
 --- a/net/sched/sch_cake.c
 +++ b/net/sched/sch_cake.c
-@@ -2180,6 +2180,7 @@ static const struct nla_policy cake_poli
+@@ -2204,6 +2204,7 @@ static const struct nla_policy cake_poli
        [TCA_CAKE_MPU]           = { .type = NLA_U32 },
        [TCA_CAKE_INGRESS]       = { .type = NLA_U32 },
        [TCA_CAKE_ACK_FILTER]    = { .type = NLA_U32 },
diff --git a/target/linux/generic/backport-4.19/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch b/target/linux/generic/backport-4.19/396-5.8-sch_cake-don-t-try-to-reallocate-or-unshare-skb-unco.patch
deleted file mode 100644 (file)
index a36095c..0000000
+++ /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-4.19/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch b/target/linux/generic/backport-4.19/397-5.8-sch_cake-don-t-call-diffserv-parsing-code-when-it-is.patch
deleted file mode 100644 (file)
index b40bb36..0000000
+++ /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;
-@@ -1630,6 +1633,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-4.19/398-5.8-sch_cake-fix-a-few-style-nits.patch b/target/linux/generic/backport-4.19/398-5.8-sch_cake-fix-a-few-style-nits.patch
deleted file mode 100644 (file)
index a1d7211..0000000
+++ /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
-@@ -2713,7 +2713,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;
-@@ -3030,7 +3030,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,
index 96de83dabc2000b9fed13bf7979af72da631d1ef..2f32c59ad219fc4006d3ba28ebbcdd90633684bc 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1781,6 +1781,19 @@ int phy_set_max_speed(struct phy_device
+@@ -1783,6 +1783,19 @@ int phy_set_max_speed(struct phy_device
  }
  EXPORT_SYMBOL(phy_set_max_speed);
  
index 070544ea638426bf98786929059c21abe7e17bf6..99aba28818709fd230f7fd7b48ef8b084248c45b 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1794,6 +1794,36 @@ void phy_support_asym_pause(struct phy_d
+@@ -1796,6 +1796,36 @@ void phy_support_asym_pause(struct phy_d
  }
  EXPORT_SYMBOL(phy_support_asym_pause);
  
index d9c4b4ecdd0b50189598e44819d2484e03faa1b9..483815a3380d63d6ddb3d45102eb5e49acc07c53 100644 (file)
@@ -29,7 +29,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -890,8 +890,6 @@ int phy_init_hw(struct phy_device *phyde
+@@ -892,8 +892,6 @@ int phy_init_hw(struct phy_device *phyde
  
        if (phydev->drv->soft_reset)
                ret = phydev->drv->soft_reset(phydev);
index 3bb87ab963300d7fd0b77998b76e26a24c9f9ba7..1ffc545ad1bf5f78b1a7ba321e2a411583b48042 100644 (file)
@@ -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>
-@@ -948,6 +949,65 @@ void phy_attached_print(struct phy_devic
+@@ -950,6 +951,65 @@ void phy_attached_print(struct phy_devic
  EXPORT_SYMBOL(phy_attached_print);
  
  /**
@@ -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
-@@ -1020,6 +1080,9 @@ int phy_attach_direct(struct net_device
+@@ -1022,6 +1082,9 @@ int phy_attach_direct(struct net_device
        phydev->attached_dev = dev;
        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
-@@ -1954,6 +2017,9 @@ static int phy_remove(struct device *dev
+@@ -1956,6 +2019,9 @@ static int phy_remove(struct device *dev
        phydev->state = PHY_DOWN;
        mutex_unlock(&phydev->lock);
  
index 08c7a402f57705174a7c53264fa356339778087d..56bf507720530a90905516e10f9817543523f51c 100644 (file)
@@ -46,7 +46,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
                                continue;
  
                        if ((phydrv->phy_id & phydrv->phy_id_mask) ==
-@@ -627,10 +627,13 @@ static int get_phy_id(struct mii_bus *bu
+@@ -629,10 +629,13 @@ static int get_phy_id(struct mii_bus *bu
   */
  struct phy_device *get_phy_device(struct mii_bus *bus, int addr, bool is_c45)
  {
index 5d762c571c3d3003daa8f637cace513cbe6df395..811fe277dd04bd1124d390fd3d5d2c4b6cad2814 100644 (file)
@@ -20,11 +20,9 @@ Signed-off-by: Christopher Hill <ch6574@gmail.com>
  drivers/spi/spi-rb4xx.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c
-index 4c9620e0d18c..17e1a77dc132 100644
 --- a/drivers/spi/spi-rb4xx.c
 +++ b/drivers/spi/spi-rb4xx.c
-@@ -158,6 +158,11 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
+@@ -164,6 +164,11 @@ static int rb4xx_spi_probe(struct platfo
        master->transfer_one = rb4xx_transfer_one;
        master->set_cs = rb4xx_set_cs;
  
@@ -36,7 +34,7 @@ index 4c9620e0d18c..17e1a77dc132 100644
        err = devm_spi_register_master(&pdev->dev, master);
        if (err) {
                dev_err(&pdev->dev, "failed to register SPI master\n");
-@@ -168,11 +173,6 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
+@@ -174,11 +179,6 @@ static int rb4xx_spi_probe(struct platfo
        if (err)
                return err;
  
index 0340c934d89b38a0587ae9ad2e86b9fd38a4f1ea..d3e654e97452b8a11bcd029252d77105a888985a 100644 (file)
@@ -21,11 +21,9 @@ Signed-off-by: Christopher Hill <ch6574@gmail.com>
  drivers/spi/spi-rb4xx.c | 9 +++++++++
  1 file changed, 9 insertions(+)
 
-diff --git a/drivers/spi/spi-rb4xx.c b/drivers/spi/spi-rb4xx.c
-index 17e1a77dc132..8aa51beb4ff3 100644
 --- a/drivers/spi/spi-rb4xx.c
 +++ b/drivers/spi/spi-rb4xx.c
-@@ -14,6 +14,7 @@
+@@ -18,6 +18,7 @@
  #include <linux/platform_device.h>
  #include <linux/clk.h>
  #include <linux/spi/spi.h>
@@ -33,7 +31,7 @@ index 17e1a77dc132..8aa51beb4ff3 100644
  
  #include <asm/mach-ath79/ar71xx_regs.h>
  
-@@ -150,6 +151,7 @@ static int rb4xx_spi_probe(struct platform_device *pdev)
+@@ -156,6 +157,7 @@ static int rb4xx_spi_probe(struct platfo
        if (IS_ERR(ahb_clk))
                return PTR_ERR(ahb_clk);
  
@@ -41,7 +39,7 @@ index 17e1a77dc132..8aa51beb4ff3 100644
        master->bus_num = 0;
        master->num_chipselect = 3;
        master->mode_bits = SPI_TX_DUAL;
-@@ -188,11 +190,18 @@ static int rb4xx_spi_remove(struct platform_device *pdev)
+@@ -194,11 +196,18 @@ static int rb4xx_spi_remove(struct platf
        return 0;
  }
  
index f47da3f24ec852499b2b33090b2b25ba8c739a14..cf38cd32453e6ad71f7400a3635739195bc15ea7 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -1232,7 +1232,6 @@ all: modules
+@@ -1240,7 +1240,6 @@ endif
  
  PHONY += modules
  modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        @$(kecho) '  Building modules, stage 2.';
        $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
  
-@@ -1261,7 +1260,6 @@ _modinst_:
+@@ -1269,7 +1268,6 @@ _modinst_:
                rm -f $(MODLIB)/build ; \
                ln -s $(CURDIR) $(MODLIB)/build ; \
        fi
index 77422e821bd715688f89d9441d47050cbd7a7f5e..36deac48b795890f0843a1a60f70dafc0333591e 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  # Read KERNELRELEASE from include/config/kernel.release (if it exists)
  KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
  KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
-@@ -782,11 +787,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
+@@ -772,11 +777,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
  KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
  endif
  
index ec4636dbeec007e7feacacecd2b87c8cd8817bd7..af9431e1896572f51cce6c76140f444e1aeaa5a8 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/mutex.h>
  #include <linux/err.h>
  #include <linux/of.h>
-@@ -3039,3 +3040,5 @@ static int __init regmap_initcall(void)
+@@ -3040,3 +3041,5 @@ static int __init regmap_initcall(void)
        return 0;
  }
  postcore_initcall(regmap_initcall);
index f11f45437f9d5b7912c6a4f4786ea1d5d9cd76fc..10eb7f1c6e08bf2d99acb4c9642e621ff963538c 100644 (file)
@@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
          algorithm registration.
 --- a/crypto/algboss.c
 +++ b/crypto/algboss.c
-@@ -247,8 +247,12 @@ static int cryptomgr_schedule_test(struc
+@@ -245,8 +245,12 @@ static int cryptomgr_schedule_test(struc
        type = alg->cra_flags;
  
        /* Do not test internal algorithms. */
index 2778377de70da9ff9998e5a102a580afc8675ee8..1710c13b15097f40ddbc8388a411a5b90f17baed 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  EXPORT_SYMBOL(default_qdisc_ops);
  
  /* Main transmission queue. */
-@@ -1025,7 +1025,7 @@ static void attach_one_default_qdisc(str
+@@ -1026,7 +1026,7 @@ static void attach_one_default_qdisc(str
                                     void *_unused)
  {
        struct Qdisc *qdisc;
index e49507a5904472a6ed5cbf753b8cc84d94927c76..c89329c1cc3cdceafc03ff49af20bff0097387dc 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/sched/sch_generic.c
 +++ b/net/sched/sch_generic.c
-@@ -612,207 +612,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
+@@ -613,207 +613,6 @@ struct Qdisc_ops noqueue_qdisc_ops __rea
        .owner          =       THIS_MODULE,
  };
  
index 56124f305c1c663482b88de5303965ac177acdfd..6d6b86ef64dd993a163fc7f6fb3f6ad8d32155fb 100644 (file)
@@ -15,7 +15,7 @@
  
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -1581,6 +1581,9 @@ int genphy_update_link(struct phy_device
+@@ -1583,6 +1583,9 @@ int genphy_update_link(struct phy_device
  {
        int status;
  
index 33ae7043b7646f67471989132bacedfb52a41619..2bb01718ad300f8577ff91f8b5de4adaea2b4da9 100644 (file)
@@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3255,10 +3255,20 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3251,10 +3251,20 @@ static int xmit_one(struct sk_buff *skb,
        if (!list_empty(&ptype_all) || !list_empty(&dev->ptype_all))
                dev_queue_xmit_nit(skb, dev);
  
index f0ea558c4dc4d94fa8c6f4149e23071d20230148..25509ad9c0a6b86bd8a40affd136ad565a33ca75 100644 (file)
@@ -61,7 +61,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);
-@@ -1603,9 +1615,11 @@ static void __sk_free(struct sock *sk)
+@@ -1604,9 +1616,11 @@ static void __sk_free(struct sock *sk)
        if (likely(sk->sk_net_refcnt))
                sock_inuse_add(sock_net(sk), -1);
  
index 800c32e10cc3216bccf47345cf2d4ab69f40b9a9..33b954337f28b4204e7ae4a405215215d08d9e17 100644 (file)
@@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3489,6 +3489,8 @@ static __net_initdata struct pernet_oper
+@@ -3491,6 +3491,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
index cad00b5527b01f4e6b9d9ce6e27b0c84d48f5bc0..db7b7ff1770c42d8bfcd41a68e7bb3199745f554 100644 (file)
@@ -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
-@@ -208,6 +208,8 @@ static int ehci_platform_probe(struct pl
+@@ -321,6 +321,8 @@ static int ehci_platform_probe(struct pl
                hcd->has_tt = 1;
        if (pdata->reset_on_resume)
                priv->reset_on_resume = true;
index 54ae1829ee04f69be4ca8a26883f4689074df60f..3467905e65c407d810526f63f9fb958162bca0e2 100644 (file)
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -6401,7 +6401,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6396,7 +6396,7 @@ static void __ref alloc_node_mem_map(str
                mem_map = NODE_DATA(0)->node_mem_map;
  #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
                if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
index cafccd42c93bdf54ba4722f5c38362d49b1973ab..e056598047460af4c57590b3b80c9b1c7a4b30de 100644 (file)
@@ -14,19 +14,15 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -657,12 +657,12 @@ KBUILD_CFLAGS    += $(call cc-disable-warni
+@@ -653,9 +653,9 @@ KBUILD_CFLAGS      += $(call cc-disable-warni
  KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
--KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
-+KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
- else
- ifdef CONFIG_PROFILE_ALL_BRANCHES
--KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,)
-+KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
+-KBUILD_CFLAGS   += -Os
++KBUILD_CFLAGS   += -Os $(EXTRA_OPTIMIZATION)
  else
 -KBUILD_CFLAGS   += -O2
 +KBUILD_CFLAGS   += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
  endif
- endif
  
+ # Tell gcc to never replace conditional load with a non-conditional one
index 332bb71e22232d04f138070ae3ca961af5d7317a..26bc5e80cd8906edf103e9aa482d4a41a0a6d908 100644 (file)
@@ -47,7 +47,7 @@ v2: incorporated changes suggested by Jonas Gorski
        select OF
 --- a/arch/mips/Makefile
 +++ b/arch/mips/Makefile
-@@ -323,7 +323,7 @@ OBJCOPYFLAGS               += --remove-section=.regin
+@@ -334,7 +334,7 @@ OBJCOPYFLAGS               += --remove-section=.regin
  head-y := arch/mips/kernel/head.o
  
  libs-y                        += arch/mips/lib/
index ec89547726e4ca77832d59a45e2dc00569628074..2f7c7b458872a7206547270d3c34e48283c8fdd5 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
  ;----------------------------------------------------------------
 --- a/arch/arc/kernel/setup.c
 +++ b/arch/arc/kernel/setup.c
-@@ -526,7 +526,7 @@ void __init handle_uboot_args(void)
+@@ -527,7 +527,7 @@ void __init handle_uboot_args(void)
  ignore_uboot_args:
  
        if (use_embedded_dtb) {
@@ -51,7 +51,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
                if (!machine_desc)
                        panic("Embedded DT invalid\n");
        }
-@@ -542,6 +542,8 @@ ignore_uboot_args:
+@@ -543,6 +543,8 @@ ignore_uboot_args:
        }
  }
  
index 26d46ec0058a8bb7f6d8f1079b5d1168cad36e01..89fa863aabde8230c4569ab6f7ef01675d722b80 100644 (file)
@@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #include <linux/nsproxy.h>
  #include <net/net_namespace.h>
  #include <net/netns/generic.h>
-@@ -976,8 +981,36 @@ static int pppoe_xmit(struct ppp_channel
+@@ -979,8 +984,36 @@ static int pppoe_xmit(struct ppp_channel
        return __pppoe_xmit(sk, skb);
  }
  
index 9fd05107c4f0565cfc15f99b047f57e7a1567db9..d8c439b9934b87b71a775a71f30780675de348b1 100644 (file)
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -3789,6 +3808,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -3791,6 +3810,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 <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -4236,7 +4266,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -4238,7 +4268,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 <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -5085,6 +5116,8 @@ static int ip6_route_dev_notify(struct n
+@@ -5087,6 +5118,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 <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -5096,6 +5129,7 @@ static int ip6_route_dev_notify(struct n
+@@ -5098,6 +5131,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 <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -5290,6 +5324,15 @@ static int __net_init ip6_route_net_init
+@@ -5292,6 +5326,15 @@ static int __net_init ip6_route_net_init
        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);
@@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
  
        net->ipv6.sysctl.flush_delay = 0;
-@@ -5308,6 +5351,8 @@ out:
+@@ -5310,6 +5353,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -5328,6 +5373,7 @@ static void __net_exit ip6_route_net_exi
+@@ -5330,6 +5375,7 @@ static void __net_exit ip6_route_net_exi
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
        kfree(net->ipv6.ip6_blk_hole_entry);
@@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
  }
-@@ -5404,6 +5450,9 @@ void __init ip6_route_init_special_entri
+@@ -5406,6 +5452,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);
index ccfd89f70379af84ea74ef9b3f662ccfeab01eb4..c01a090b73564388ac6f1bb255a6963140786318 100644 (file)
@@ -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
-@@ -5457,6 +5457,9 @@ static enum gro_result dev_gro_receive(s
+@@ -5461,6 +5461,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;
  
-@@ -7115,6 +7118,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -7119,6 +7122,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,
-@@ -7165,6 +7210,7 @@ static int __netdev_upper_dev_link(struc
+@@ -7169,6 +7214,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);
-@@ -7257,6 +7303,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -7261,6 +7307,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);
  
-@@ -7896,6 +7943,7 @@ int dev_set_mac_address(struct net_devic
+@@ -7900,6 +7947,7 @@ int dev_set_mac_address(struct net_devic
        if (err)
                return err;
        dev->addr_assign_type = NET_ADDR_SET;
index c8847a0234fabc374da0d6f6d46328611a0cbd0d..d655d2fc759e196071d8144fe4e08ddcd60a0aa5 100644 (file)
@@ -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
-@@ -1205,6 +1205,9 @@ void phy_detach(struct phy_device *phyde
+@@ -1207,6 +1207,9 @@ void phy_detach(struct phy_device *phyde
        struct module *ndev_owner = dev->dev.parent->driver->owner;
        struct mii_bus *bus;
  
index f1dc0e5995485096c1648cef444d730eabf9e0e6..560bbe83642d0df2fe92dcc1a44af7d4e32b0c08 100644 (file)
@@ -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
-@@ -731,6 +731,19 @@ u64 ata_tf_read_block(const struct ata_t
+@@ -730,6 +730,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
-@@ -5134,6 +5147,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -5133,6 +5146,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;
-@@ -6068,6 +6084,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -6067,6 +6083,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;
-@@ -6103,6 +6122,12 @@ static void ata_host_release(struct kref
+@@ -6102,6 +6121,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;
        }
-@@ -6566,7 +6591,23 @@ int ata_host_register(struct ata_host *h
+@@ -6565,7 +6590,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
-@@ -38,6 +38,9 @@
- #include <linux/acpi.h>
+@@ -39,6 +39,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
-@@ -893,6 +896,12 @@ struct ata_port {
+@@ -896,6 +899,12 @@ struct ata_port {
  #ifdef CONFIG_ATA_ACPI
        struct ata_acpi_gtm     __acpi_init_gtm; /* use ata_acpi_init_gtm() */
  #endif
index 40c4792136b0d31b444a26e1cc1935e1728f0a78..3ec6f4a0e87d2af0542fdb9e6d952d851da6bf8c 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
 
 --- a/drivers/mmc/host/sdhci-msm.c
 +++ b/drivers/mmc/host/sdhci-msm.c
-@@ -1688,7 +1688,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -1694,7 +1694,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
  
  static const struct sdhci_ops sdhci_msm_ops = {
        .reset = sdhci_reset,
index 76c7cfd5687ef78c041f4779c47149ea6e549a5b..ecd9672d1b791c090ef5ee42d0415250e515d7ca 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/firmware/qcom_scm.c
 +++ b/drivers/firmware/qcom_scm.c
-@@ -609,6 +609,9 @@ static const struct of_device_id qcom_sc
+@@ -606,6 +606,9 @@ static const struct of_device_id qcom_sc
        { .compatible = "qcom,scm-ipq4019",
          .data = NULL, /* no clocks */
        },
index 4cea5547c2eb38c2052dae260befb36c3ed5941e..44959af0c35ea801b7a2782eb276dc62d4f16c22 100644 (file)
@@ -5505,7 +5505,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                                         unsigned long type);
 --- a/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
-@@ -1065,6 +1065,12 @@
+@@ -1076,6 +1076,12 @@
  #define PCI_DEVICE_ID_SGI_LITHIUM     0x1002
  #define PCI_DEVICE_ID_SGI_IOC4                0x100a
  
index d4c4ea773859986285544e493a8a2c178b3599cb..f3505649777d533873fb74d140cb2f6a1e8d4f44 100644 (file)
@@ -28,7 +28,7 @@
  #include <linux/of_address.h>
  #include <linux/of_pci.h>
  #include <linux/of_platform.h>
-@@ -162,6 +163,7 @@ struct mtk_pcie_soc {
+@@ -167,6 +168,7 @@ struct mtk_pcie_soc {
   * @phy: pointer to PHY control block
   * @lane: lane count
   * @slot: port slot
@@ -36,7 +36,7 @@
   * @irq_domain: legacy INTx IRQ domain
   * @inner_domain: inner IRQ domain
   * @msi_domain: MSI IRQ domain
-@@ -182,6 +184,7 @@ struct mtk_pcie_port {
+@@ -187,6 +189,7 @@ struct mtk_pcie_port {
        struct phy *phy;
        u32 lane;
        u32 slot;
@@ -44,7 +44,7 @@
        struct irq_domain *irq_domain;
        struct irq_domain *inner_domain;
        struct irq_domain *msi_domain;
-@@ -225,10 +228,8 @@ static void mtk_pcie_subsys_powerdown(st
+@@ -230,10 +233,8 @@ static void mtk_pcie_subsys_powerdown(st
  
        clk_disable_unprepare(pcie->free_ck);
  
@@ -57,7 +57,7 @@
  }
  
  static void mtk_pcie_port_free(struct mtk_pcie_port *port)
-@@ -532,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m
+@@ -537,6 +538,27 @@ static void mtk_pcie_enable_msi(struct m
        writel(val, port->base + PCIE_INT_MASK);
  }
  
@@ -85,7 +85,7 @@
  static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
                             irq_hw_number_t hwirq)
  {
-@@ -561,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru
+@@ -566,6 +588,7 @@ static int mtk_pcie_init_irq_domain(stru
  
        port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
                                                 &intx_domain_ops, port);
@@ -93,7 +93,7 @@
        if (!port->irq_domain) {
                dev_err(dev, "failed to get INTx IRQ domain\n");
                return -ENODEV;
-@@ -622,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk
+@@ -627,7 +650,7 @@ static int mtk_pcie_setup_irq(struct mtk
        struct mtk_pcie *pcie = port->pcie;
        struct device *dev = pcie->dev;
        struct platform_device *pdev = to_platform_device(dev);
  
        err = mtk_pcie_init_irq_domain(port, node);
        if (err) {
-@@ -630,8 +653,9 @@ static int mtk_pcie_setup_irq(struct mtk
+@@ -635,8 +658,9 @@ static int mtk_pcie_setup_irq(struct mtk
                return err;
        }
  
  
        return 0;
  }
-@@ -904,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt
+@@ -912,49 +936,29 @@ static int mtk_pcie_parse_port(struct mt
  
        /* sys_ck might be divided into the following parts in some chips */
        snprintf(name, sizeof(name), "ahb_ck%d", slot);
  
        snprintf(name, sizeof(name), "pcie-rst%d", slot);
        port->reset = devm_reset_control_get_optional_exclusive(dev, name);
-@@ -999,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc
+@@ -1007,10 +1011,8 @@ static int mtk_pcie_subsys_powerup(struc
                pcie->free_ck = NULL;
        }
  
  
        /* enable top level clock */
        err = clk_prepare_enable(pcie->free_ck);
-@@ -1014,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc
+@@ -1022,10 +1024,8 @@ static int mtk_pcie_subsys_powerup(struc
        return 0;
  
  err_free_ck:
  
        return err;
  }
-@@ -1122,36 +1122,6 @@ static int mtk_pcie_request_resources(st
+@@ -1130,36 +1130,6 @@ static int mtk_pcie_request_resources(st
                return err;
  
        err = devm_pci_remap_iospace(dev, &pcie->pio, pcie->io.start);
  
        return 0;
  }
-@@ -1182,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor
+@@ -1190,7 +1160,14 @@ static int mtk_pcie_probe(struct platfor
        if (err)
                goto put_resources;
  
        if (err)
                goto put_resources;
  
-@@ -1195,6 +1172,80 @@ put_resources:
+@@ -1203,6 +1180,80 @@ put_resources:
        return err;
  }
  
  static const struct mtk_pcie_soc mtk_pcie_soc_v1 = {
        .ops = &mtk_pcie_ops,
        .startup = mtk_pcie_startup_port,
-@@ -1223,10 +1274,13 @@ static const struct of_device_id mtk_pci
+@@ -1241,10 +1292,13 @@ static const struct of_device_id mtk_pci
  
  static struct platform_driver mtk_pcie_driver = {
        .probe = mtk_pcie_probe,
index 6d4cce276bb663e7e6070528d45eb91f59106f53..1c3c1d9497b0ec64c231871fe9aa759b417c9873 100644 (file)
@@ -19,7 +19,7 @@
        },
        [PORT_NPCM] = {
                .name           = "Nuvoton 16550",
-@@ -2648,6 +2648,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2650,6 +2650,11 @@ serial8250_do_set_termios(struct uart_po
        unsigned long flags;
        unsigned int baud, quot, frac = 0;
  
index 3fd561db3a69d99d8aba8830254e1c5fdb788fca..4cadd791ea5bb8be7f0d78b566c8d881520a55f0 100644 (file)
@@ -10,7 +10,7 @@ This reverts commit c8e144f8ab00e6c4a070a932ef9c57db09aa41cf.
 
 --- a/drivers/pci/controller/pci-aardvark.c
 +++ b/drivers/pci/controller/pci-aardvark.c
-@@ -843,6 +843,7 @@ static int advk_pcie_probe(struct platfo
+@@ -839,6 +839,7 @@ static int advk_pcie_probe(struct platfo
        struct device *dev = &pdev->dev;
        struct advk_pcie *pcie;
        struct resource *res;
@@ -18,7 +18,7 @@ This reverts commit c8e144f8ab00e6c4a070a932ef9c57db09aa41cf.
        struct pci_host_bridge *bridge;
        int ret, irq;
  
-@@ -896,13 +897,22 @@ static int advk_pcie_probe(struct platfo
+@@ -892,13 +893,22 @@ static int advk_pcie_probe(struct platfo
        bridge->map_irq = of_irq_parse_and_map_pci;
        bridge->swizzle_irq = pci_common_swizzle;
  
index 204d6e2aec4ffbefdb4008b7d3f969e400f0ae0c..af221499a84acdb337c85ee216c9c846c8cc97bc 100644 (file)
@@ -67,7 +67,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
                PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
                (PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
                 PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
-@@ -838,6 +841,58 @@ out_release_res:
+@@ -834,6 +837,58 @@ out_release_res:
        return err;
  }
  
@@ -126,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
  static int advk_pcie_probe(struct platform_device *pdev)
  {
        struct device *dev = &pdev->dev;
-@@ -912,6 +967,9 @@ static int advk_pcie_probe(struct platfo
+@@ -908,6 +963,9 @@ static int advk_pcie_probe(struct platfo
        list_for_each_entry(child, &bus->children, node)
                pcie_bus_configure_settings(child);
  
diff --git a/target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch b/target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch
deleted file mode 100644 (file)
index b6fcec8..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From patchwork Thu Sep 28 12:58:36 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [v2,5/7] PCI: aardvark: disable LOS state by default
-X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-X-Patchwork-Id: 819590
-Message-Id: <20170928125838.11887-6-thomas.petazzoni@free-electrons.com>
-To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
-Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
- Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
- <gregory.clement@free-electrons.com>, 
- Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
- Yehuda Yitschak <yehuday@marvell.com>,
- linux-arm-kernel@lists.infradead.org, Antoine Tenart
- <antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
- <miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
- Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Thu, 28 Sep 2017 14:58:36 +0200
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-List-Id: <linux-pci.vger.kernel.org>
-
-From: Victor Gu <xigu@marvell.com>
-
-Some PCIe devices do not support LOS, and will cause timeouts if the
-root complex forces the LOS state. This patch disables the LOS state
-by default.
-
-This is part of fixing bug
-https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
-reported as the user to be important to get a Intel 7260 mini-PCIe
-WiFi card working.
-
-Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
-Signed-off-by: Victor Gu <xigu@marvell.com>
-Reviewed-by: Evan Wang <xswang@marvell.com>
-Reviewed-by: Nadav Haklai <nadavh@marvell.com>
-[Thomas: tweak commit log.]
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- drivers/pci/controller/pci-aardvark.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
---- a/drivers/pci/controller/pci-aardvark.c
-+++ b/drivers/pci/controller/pci-aardvark.c
-@@ -324,8 +324,7 @@ static void advk_pcie_setup_hw(struct ad
-       advk_pcie_wait_for_link(pcie);
--      reg = PCIE_CORE_LINK_L0S_ENTRY |
--              (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
-+      reg = (1 << PCIE_CORE_LINK_WIDTH_SHIFT);
-       advk_writel(pcie, reg, PCIE_CORE_LINK_CTRL_STAT_REG);
-       reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG);
index 1426140183d1c0d9e6d2101cf1ee2d59b6abe7c0..bc57806c74ce32bf95ddf831bb4a93d82fc0dfd5 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/x86/kernel/reboot.c
 +++ b/arch/x86/kernel/reboot.c
-@@ -469,6 +469,16 @@ static const struct dmi_system_id reboot
+@@ -477,6 +477,16 @@ static const struct dmi_system_id reboot
                },
        },