kernel: Update to version 4.4.182
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 30 May 2019 20:49:32 +0000 (22:49 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 18 Jun 2019 18:45:33 +0000 (20:45 +0200)
Fixes:
- CVE-2019-11479
- CVE-2019-11478
- CVE-2019-11477
- CVE-2019-11833
- CVE-2019-11091
- CVE-2018-12126
- CVE-2018-12130
- CVE-2018-12127
- CVE-2019-3882
- CVE-2019-6974
- CVE-2019-3819
- CVE-2019-7221
- CVE-2019-7222
- CVE-2019-3701
- CVE-2018-19985
- CVE-2018-1120
And probably more

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
80 files changed:
include/kernel-version.mk
package/kernel/mac80211/patches/013-mm-backport-get_user_pages.patch [new file with mode: 0644]
target/linux/apm821xx/patches-4.4/001-crypto4xx-integrate-ppc4xx-rng-into-crypto4xx.patch
target/linux/apm821xx/patches-4.4/040-backport_leds-convert-IDE-trigger-to-common-disk-trigger.patch
target/linux/apm821xx/patches-4.4/802-usb-xhci-force-msi-renesas-xhci.patch
target/linux/ar71xx/patches-4.4/500-MIPS-fw-myloader.patch
target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
target/linux/bcm53xx/patches-4.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
target/linux/brcm2708/patches-4.4/0003-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
target/linux/brcm2708/patches-4.4/0012-spi-bcm2835-Support-pin-groups-other-than-7-11.patch
target/linux/brcm2708/patches-4.4/0029-Add-dwc_otg-driver.patch
target/linux/brcm2708/patches-4.4/0053-fbdev-add-FBIOCOPYAREA-ioctl.patch
target/linux/brcm2708/patches-4.4/0348-mmc-Add-MMC_QUIRK_ERASE_BROKEN-for-some-cards.patch
target/linux/brcm2708/patches-4.4/0350-mmc-Apply-QUIRK_BROKEN_ERASE-to-other-capacities.patch
target/linux/brcm2708/patches-4.4/0351-mmc-Add-card_quirks-module-parameter-log-quirks.patch
target/linux/brcm2708/patches-4.4/0412-mmc-Apply-ERASE_BROKEN-quirks-correctly.patch
target/linux/brcm2708/patches-4.4/0419-spi-bcm2835-Disable-forced-software-CS.patch
target/linux/brcm2708/patches-4.4/0498-fbmem-Ensure-that-parameters-are-properly-checked-wi.patch
target/linux/brcm2708/patches-4.4/0530-spi-bcm2835-Remove-unused-code.patch
target/linux/cns3xxx/patches-4.4/060-pcie_abort.patch
target/linux/cns3xxx/patches-4.4/075-spi_support.patch
target/linux/generic/config-4.4
target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch [deleted file]
target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch [deleted file]
target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch [deleted file]
target/linux/generic/patches-4.4/080-spi-introduce-accelerated-read-support-for-spi-flash.patch
target/linux/generic/patches-4.4/092-MIPS-ZBOOT-copy-appended-dtb-to-the-end-of-the-kerne.patch
target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch [deleted file]
target/linux/generic/patches-4.4/099-0007-qmi_wwan-add-support-for-Quectel-EC21-and-EC25.patch
target/linux/generic/patches-4.4/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch [deleted file]
target/linux/generic/patches-4.4/107-arm-cns3xxx-use-actual-size-reads-for-PCIe.patch
target/linux/generic/patches-4.4/132-mips_inline_dma_ops.patch
target/linux/generic/patches-4.4/160-usb-gadget-udc-net2280-add-usb2380-support.patch
target/linux/generic/patches-4.4/201-extra_optimization.patch
target/linux/generic/patches-4.4/204-module_strip.patch
target/linux/generic/patches-4.4/272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch
target/linux/generic/patches-4.4/300-mips_expose_boot_raw.patch
target/linux/generic/patches-4.4/301-mips_image_cmdline_hack.patch
target/linux/generic/patches-4.4/304-mips_disable_fpu.patch
target/linux/generic/patches-4.4/332-arc-add-OWRTDTB-section.patch
target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch
target/linux/generic/patches-4.4/613-netfilter_optional_tcp_window_check.patch
target/linux/generic/patches-4.4/630-packet_socket_type.patch
target/linux/generic/patches-4.4/642-bridge_port_isolate.patch
target/linux/generic/patches-4.4/645-bridge_multicast_to_unicast.patch
target/linux/generic/patches-4.4/655-increase_skb_pad.patch
target/linux/generic/patches-4.4/662-use_fq_codel_by_default.patch
target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
target/linux/generic/patches-4.4/710-phy-add-mdio_register_board_info.patch
target/linux/generic/patches-4.4/721-phy_packets.patch
target/linux/generic/patches-4.4/834-ledtrig-libata.patch
target/linux/generic/patches-4.4/901-debloat_sock_diag.patch
target/linux/generic/patches-4.4/902-debloat_proc.patch
target/linux/generic/patches-4.4/911-kobject_add_broadcast_uevent.patch
target/linux/imx6/patches-4.4/208-sky2-allow-mac-to-come-from-dt.patch
target/linux/ipq806x/patches-4.4/006-mfd-qcom_rpm-Handle-message-RAM-clock.patch
target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
target/linux/ipq806x/patches-4.4/400-dsa-add-qca.patch
target/linux/ipq806x/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch
target/linux/ixp4xx/patches-4.4/600-skb_avoid_dmabounce.patch
target/linux/kirkwood/patches-4.4/200-disable-tso.patch
target/linux/lantiq/patches-4.4/0152-lantiq-VPE.patch
target/linux/layerscape/patches-4.4/7017-fsl_qbman-add-qbman-driver.patch
target/linux/layerscape/patches-4.4/7019-net-readd-skb_recycle.patch
target/linux/layerscape/patches-4.4/7020-net-add-custom-NETIF-flags.patch
target/linux/layerscape/patches-4.4/7031-fsl_qbman-Enable-DPAA1-QBMan-for-ARM64-platforms.patch
target/linux/layerscape/patches-4.4/7072-LS1012-Add-PPFE-driver-in-Linux.patch
target/linux/layerscape/patches-4.4/7182-staging-fsl-mc-add-support-for-device-table-matching.patch
target/linux/layerscape/patches-4.4/8048-mmc-sdhci-of-esdhc-add-remove-some-quirks-according-.patch
target/linux/layerscape/patches-4.4/8138-pci-layerscape-add-MSI-interrupt-support.patch
target/linux/layerscape/patches-4.4/8142-drivers-mmc-Add-compatible-string-for-LS1046A.patch
target/linux/layerscape/patches-4.4/9070-Revert-arm64-use-fixmap-region-for-permanent-FDT-map.patch
target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
target/linux/mpc85xx/patches-4.4/100-powerpc-85xx-tl-wdr4900-v1-support.patch
target/linux/oxnas/patches-4.4/996-ATAG_DTB_COMPAT_CMDLINE_MANGLE.patch
target/linux/oxnas/patches-4.4/999-libata-hacks.patch
target/linux/ramips/patches-4.4/0031-uvc-add-iPassion-iP2970-support.patch
target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch

index 43d31ac0b4d175e46858b4d81463fda04e42c7d4..adaf24e714bec051b6d87d14418962f6894b9c73 100644 (file)
@@ -3,10 +3,10 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .43
-LINUX_VERSION-4.4 = .167
+LINUX_VERSION-4.4 = .182
 
 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c
-LINUX_KERNEL_HASH-4.4.167 = 33ca4c28a565404fc7b07f9d6b734c291035f7e7e46c280131494b04e3953edf
+LINUX_KERNEL_HASH-4.4.182 = c409d88f61cd9a37cbba36d5d9c8162263eb1e5c9380efaf880a3ec10cd88527
 
 ifdef KERNEL_PATCHVER
   LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
diff --git a/package/kernel/mac80211/patches/013-mm-backport-get_user_pages.patch b/package/kernel/mac80211/patches/013-mm-backport-get_user_pages.patch
new file mode 100644 (file)
index 0000000..f7e5c85
--- /dev/null
@@ -0,0 +1,65 @@
+--- a/backport-include/linux/mm.h
++++ b/backport-include/linux/mm.h
+@@ -39,8 +39,20 @@ static inline
+ long backport_get_user_pages_locked(unsigned long start, unsigned long nr_pages,
+                   int write, int force, struct page **pages, int *locked)
+ {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,4,168))
+       return get_user_pages_locked(current, current->mm, start, nr_pages,
+                   write, force, pages, locked);
++#else
++      int flags = 0;
++
++      if (write)
++              flags |= FOLL_WRITE;
++      if (force)
++              flags |= FOLL_FORCE;
++
++      return get_user_pages_locked(current, current->mm, start, nr_pages,
++                  flags, pages, locked);
++#endif
+ }
+ #define get_user_pages_locked LINUX_BACKPORT(get_user_pages_locked)
+@@ -48,8 +60,20 @@ static inline
+ long backport_get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
+                                     int write, int force, struct page **pages)
+ {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,4,168))
+       return get_user_pages_unlocked(current, current->mm, start,  nr_pages,
+                   write, force, pages);
++#else
++      int flags = 0;
++
++      if (write)
++              flags |= FOLL_WRITE;
++      if (force)
++              flags |= FOLL_FORCE;
++
++      return get_user_pages_unlocked(current, current->mm, start,  nr_pages,
++                  pages, flags);
++#endif
+ }
+ #define get_user_pages_unlocked LINUX_BACKPORT(get_user_pages_unlocked)
+ #endif
+@@ -60,8 +84,20 @@ long backport_get_user_pages(unsigned lo
+                           int write, int force, struct page **pages,
+                           struct vm_area_struct **vmas)
+ {
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,4,168))
+       return get_user_pages(current, current->mm, start,  nr_pages,
+                   write, force, pages, vmas);
++#else
++      int flags = 0;
++
++      if (write)
++              flags |= FOLL_WRITE;
++      if (force)
++              flags |= FOLL_FORCE;
++
++      return get_user_pages(current, current->mm, start,  nr_pages,
++                  flags, pages, vmas);
++#endif
+ }
+ #define get_user_pages LINUX_BACKPORT(get_user_pages)
+ #endif
index 2b4452b7de44434a4e3d6b9c53758852766fb6b1..2459dd32214ae1f87557dbfb1805134b46e5bf20 100644 (file)
@@ -240,7 +240,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
  
  #define PPC4XX_SEC_VERSION_STR                        "0.5"
  
-@@ -1221,6 +1222,7 @@ static int crypto4xx_probe(struct platfo
+@@ -1230,6 +1231,7 @@ static int crypto4xx_probe(struct platfo
        if (rc)
                goto err_start_dev;
  
@@ -248,7 +248,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
        return 0;
  
  err_start_dev:
-@@ -1247,6 +1249,8 @@ static int crypto4xx_remove(struct platf
+@@ -1256,6 +1258,8 @@ static int crypto4xx_remove(struct platf
        struct device *dev = &ofdev->dev;
        struct crypto4xx_core_device *core_dev = dev_get_drvdata(dev);
  
@@ -257,7 +257,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
        free_irq(core_dev->irq, dev);
        irq_dispose_mapping(core_dev->irq);
  
-@@ -1267,7 +1271,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
+@@ -1276,7 +1280,7 @@ MODULE_DEVICE_TABLE(of, crypto4xx_match)
  
  static struct platform_driver crypto4xx_driver = {
        .driver = {
@@ -266,7 +266,7 @@ Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                .of_match_table = crypto4xx_match,
        },
        .probe          = crypto4xx_probe,
-@@ -1279,4 +1283,3 @@ module_platform_driver(crypto4xx_driver)
+@@ -1288,4 +1292,3 @@ module_platform_driver(crypto4xx_driver)
  MODULE_LICENSE("GPL");
  MODULE_AUTHOR("James Hsiao <jhsiao@amcc.com>");
  MODULE_DESCRIPTION("Driver for AMCC PPC4xx crypto accelerator");
index d5eda621eae30ae962840db42959b598d1a088f5..2adcfef309b2b1b74759f72289e511f670ea8cc7 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
  #include <linux/pm_runtime.h>
  #include <linux/platform_device.h>
  
-@@ -4945,6 +4946,9 @@ void ata_qc_complete(struct ata_queued_c
+@@ -4946,6 +4947,9 @@ void ata_qc_complete(struct ata_queued_c
  {
        struct ata_port *ap = qc->ap;
  
index 8616268f1b4655cc57d20585e6fb6fff0f6f7ac8..0a94c0cd09d14f6dc90300453f077330a989a854 100644 (file)
@@ -24,7 +24,7 @@ produce a noisy warning.
  
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -388,10 +388,14 @@ static int xhci_try_enable_msi(struct us
+@@ -386,10 +386,14 @@ static int xhci_try_enable_msi(struct us
                free_irq(hcd->irq, hcd);
        hcd->irq = 0;
  
@@ -44,7 +44,7 @@ produce a noisy warning.
                /* hcd->irq is 0, we have MSI */
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1656,6 +1656,7 @@ struct xhci_hcd {
+@@ -1657,6 +1657,7 @@ struct xhci_hcd {
        /* support xHCI 0.96 spec USB2 software LPM */
        unsigned                sw_lpm_support:1;
        /* support xHCI 1.0 spec USB2 hardware LPM */
index 811a234a2ce8e287c750fb87e1027cca4afe455b..984984d8abd2d83d285111a8b0bf17f05b6e8cf0 100644 (file)
@@ -10,7 +10,7 @@
  
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1118,6 +1118,9 @@ config MIPS_MSC
+@@ -1121,6 +1121,9 @@ config MIPS_MSC
  config MIPS_NILE4
        bool
  
index 164000f5c0311bef20f2b550a17343126362f160..768ddfcaaf0d47743f018366e677e79797e9ce7b 100644 (file)
   */
 --- a/net/ipv6/datagram.c
 +++ b/net/ipv6/datagram.c
-@@ -433,7 +433,7 @@ int ipv6_recv_error(struct sock *sk, str
+@@ -434,7 +434,7 @@ int ipv6_recv_error(struct sock *sk, str
                                ipv6_iface_scope_id(&sin->sin6_addr,
                                                    IP6CB(skb)->iif);
                } else {
                                               &sin->sin6_addr);
                        sin->sin6_scope_id = 0;
                }
-@@ -773,12 +773,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -772,12 +772,12 @@ int ip6_datagram_send_ctl(struct net *ne
                        }
  
                        if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
  
  #define       IP6_MF          0x0001
  #define       IP6_OFFSET      0xFFF8
-@@ -418,8 +418,8 @@ static inline void __ipv6_addr_set_half(
+@@ -411,8 +411,8 @@ static inline void __ipv6_addr_set_half(
        }
  #endif
  #endif
  }
  
  static inline void ipv6_addr_set(struct in6_addr *addr, 
-@@ -478,6 +478,8 @@ static inline bool ipv6_prefix_equal(con
+@@ -471,6 +471,8 @@ static inline bool ipv6_prefix_equal(con
        const __be32 *a1 = addr1->s6_addr32;
        const __be32 *a2 = addr2->s6_addr32;
        unsigned int pdw, pbi;
  
        /* check complete u32 in prefix */
        pdw = prefixlen >> 5;
-@@ -486,7 +488,9 @@ static inline bool ipv6_prefix_equal(con
+@@ -479,7 +481,9 @@ static inline bool ipv6_prefix_equal(con
  
        /* check incomplete u32 in prefix */
        pbi = prefixlen & 0x1f;
                return false;
  
        return true;
-@@ -630,13 +634,13 @@ static inline void ipv6_addr_set_v4mappe
+@@ -608,13 +612,13 @@ static inline void ipv6_addr_set_v4mappe
   */
  static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
  {
                if (xb)
                        return i * 32 + 31 - __fls(ntohl(xb));
        }
-@@ -805,17 +809,18 @@ static inline int ip6_default_np_autolab
+@@ -783,17 +787,18 @@ static inline int ip6_default_np_autolab
  static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
                                __be32 flowlabel)
  {
  static struct fib6_node *node_alloc(void)
 --- a/net/netfilter/nf_conntrack_proto_tcp.c
 +++ b/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -456,7 +456,7 @@ static void tcp_sack(const struct sk_buf
+@@ -458,7 +458,7 @@ static void tcp_sack(const struct sk_buf
  
        /* Fast path for timestamp-only option */
        if (length == TCPOLEN_TSTAMP_ALIGNED
  
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3836,14 +3836,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3852,14 +3852,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
index 4f41c35eee55045bcb97ca6e0f5a83dfdd83f51a..7c8b7d265bdf94f00b01dba3638cc5b1a88f79f6 100644 (file)
@@ -40,7 +40,7 @@ it on BCM4708 family.
  /* called during probe() after chip reset completes */
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -152,6 +152,49 @@ static int xhci_start(struct xhci_hcd *x
+@@ -150,6 +150,49 @@ static int xhci_start(struct xhci_hcd *x
        return ret;
  }
  
@@ -90,7 +90,7 @@ it on BCM4708 family.
  /*
   * Reset a halted HC.
   *
-@@ -568,10 +611,20 @@ int xhci_init(struct usb_hcd *hcd)
+@@ -566,10 +609,20 @@ int xhci_init(struct usb_hcd *hcd)
  
  static int xhci_run_finished(struct xhci_hcd *xhci)
  {
@@ -114,7 +114,7 @@ it on BCM4708 family.
        xhci->shared_hcd->state = HC_STATE_RUNNING;
        xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
  
-@@ -581,6 +634,10 @@ static int xhci_run_finished(struct xhci
+@@ -579,6 +632,10 @@ static int xhci_run_finished(struct xhci
        xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                        "Finished xhci_run for USB3 roothub");
        return 0;
@@ -127,7 +127,7 @@ it on BCM4708 family.
  /*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1639,6 +1639,7 @@ struct xhci_hcd {
+@@ -1640,6 +1640,7 @@ struct xhci_hcd {
  #define XHCI_BROKEN_STREAMS   (1 << 19)
  #define XHCI_PME_STUCK_QUIRK  (1 << 20)
  #define XHCI_MISSING_CAS      (1 << 24)
index af4451485cc3a113ac3c6fed5115b394ecb87eca..823d761d1e326b44d04bc97d21b0af34e8113a1d 100644 (file)
@@ -13,7 +13,7 @@ http://www.spinics.net/lists/linux-mm/msg72236.html
 
 --- a/include/linux/vmstat.h
 +++ b/include/linux/vmstat.h
-@@ -219,7 +219,11 @@ static inline void __inc_zone_state(stru
+@@ -220,7 +220,11 @@ static inline void __inc_zone_state(stru
  static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
  {
        atomic_long_dec(&zone->vm_stat[item]);
index 3bd0628a397fb6eb984b416511ffd1941174a0a7..2a0934e34c81bb22a4a598283d328eb769cbde05 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/drivers/spi/spi-bcm2835.c
-@@ -688,6 +688,8 @@ static int bcm2835_spi_setup(struct spi_
+@@ -686,6 +686,8 @@ static int bcm2835_spi_setup(struct spi_
  {
        int err;
        struct gpio_chip *chip;
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        /*
         * sanity checking the native-chipselects
         */
-@@ -704,15 +706,42 @@ static int bcm2835_spi_setup(struct spi_
+@@ -702,15 +704,42 @@ static int bcm2835_spi_setup(struct spi_
                        "setup: only two native chip-selects are supported\n");
                return -EINVAL;
        }
index 1651c555452d42082e0cb938b441cb7aa3d2866b..3acc5b3b7cea6d78911513051ab494d3fcea62ab 100644 (file)
@@ -659,7 +659,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5007,7 +5007,7 @@ static void port_event(struct usb_hub *h
+@@ -5014,7 +5014,7 @@ static void port_event(struct usb_hub *h
        if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
                u16 status = 0, unused;
  
@@ -670,7 +670,7 @@ dwc_otg: Remove duplicate gadget probe/unregister function
                msleep(100);    /* Cool down */
 --- a/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
-@@ -1924,6 +1924,85 @@ free_interfaces:
+@@ -1925,6 +1925,85 @@ free_interfaces:
        if (cp->string == NULL &&
                        !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
                cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
index 8a87dd1911c50a65e580c9899303d8d37fd84e46..02549dbe2c568fda47562cec63b89c1930bcbfe5 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
 
 --- a/drivers/video/fbdev/core/fbmem.c
 +++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank
+@@ -1091,6 +1091,25 @@ fb_blank(struct fb_info *info, int blank
  }
  EXPORT_SYMBOL(fb_blank);
  
@@ -43,7 +43,7 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
                        unsigned long arg)
  {
-@@ -1094,6 +1113,7 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1101,6 +1120,7 @@ static long do_fb_ioctl(struct fb_info *
        struct fb_cmap cmap_from;
        struct fb_cmap_user cmap;
        struct fb_event event;
@@ -51,7 +51,7 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
        void __user *argp = (void __user *)arg;
        long ret = 0;
  
-@@ -1211,6 +1231,15 @@ static long do_fb_ioctl(struct fb_info *
+@@ -1218,6 +1238,15 @@ static long do_fb_ioctl(struct fb_info *
                unlock_fb_info(info);
                console_unlock();
                break;
@@ -67,7 +67,7 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
        default:
                if (!lock_fb_info(info))
                        return -ENODEV;
-@@ -1365,6 +1394,7 @@ static long fb_compat_ioctl(struct file
+@@ -1372,6 +1401,7 @@ static long fb_compat_ioctl(struct file
        case FBIOPAN_DISPLAY:
        case FBIOGET_CON2FBMAP:
        case FBIOPUT_CON2FBMAP:
index dd20fc0860f692bbbf08144a70148507c3ca76eb..dcad8563041e937192e5044ab59275dca2bccaae 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
-@@ -2553,6 +2553,13 @@ static const struct mmc_fixup blk_fixups
+@@ -2547,6 +2547,13 @@ static const struct mmc_fixup blk_fixups
        MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc,
                  MMC_QUIRK_TRIM_BROKEN),
  
@@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
 --- a/drivers/mmc/core/core.c
 +++ b/drivers/mmc/core/core.c
-@@ -2253,7 +2253,8 @@ EXPORT_SYMBOL(mmc_erase);
+@@ -2257,7 +2257,8 @@ EXPORT_SYMBOL(mmc_erase);
  int mmc_can_erase(struct mmc_card *card)
  {
        if ((card->host->caps & MMC_CAP_ERASE) &&
index 60febcc17cf6778e1a9792bad53780f710e0298c..12806de27b222232b51c43f5da7e3bb01c56a48b 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
-@@ -2559,6 +2559,10 @@ static const struct mmc_fixup blk_fixups
+@@ -2553,6 +2553,10 @@ static const struct mmc_fixup blk_fixups
         */
        MMC_FIXUP("SD16G", 0x41, 0x3432, add_quirk_mmc,
                  MMC_QUIRK_ERASE_BROKEN),
index f68fd479cc49fe076944b5e84dd4aeb63bbde43d..95c884b91243aef74fe3ec40cab2ef65f9a03cab 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
-@@ -137,6 +137,13 @@ enum {
+@@ -134,6 +134,13 @@ enum {
  module_param(perdev_minors, int, 0444);
  MODULE_PARM_DESC(perdev_minors, "Minors numbers to allocate per device");
  
@@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  static inline int mmc_blk_part_switch(struct mmc_card *card,
                                      struct mmc_blk_data *md);
  static int get_card_status(struct mmc_card *card, u32 *status, int retries);
-@@ -2571,6 +2578,7 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2565,6 +2572,7 @@ static int mmc_blk_probe(struct mmc_card
  {
        struct mmc_blk_data *md, *part_md;
        char cap_str[10];
@@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
        /*
         * Check that the card supports the command class(es) we need.
-@@ -2578,7 +2586,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2572,7 +2580,16 @@ static int mmc_blk_probe(struct mmc_card
        if (!(card->csd.cmdclass & CCC_BLOCK_READ))
                return -ENODEV;
  
@@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
        md = mmc_blk_alloc(card);
        if (IS_ERR(md))
-@@ -2586,9 +2603,14 @@ static int mmc_blk_probe(struct mmc_card
+@@ -2580,9 +2597,14 @@ static int mmc_blk_probe(struct mmc_card
  
        string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2,
                        cap_str, sizeof(cap_str));
index 92c02d8e2d7a971ffe0329a1af96ee9bf06c0039..18e069d9898cd2c204ef5608ac4d40d38ef0ac4f 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
-@@ -2564,12 +2564,9 @@ static const struct mmc_fixup blk_fixups
+@@ -2558,12 +2558,9 @@ static const struct mmc_fixup blk_fixups
         *  On some Kingston SD cards, multiple erases of less than 64
         *  sectors can cause corruption.
         */
index e9beb0314a1a805a5d09b1a3b0b2b5024ed355bb..6f365dd9fc42af47f8d8626143f7bca1e0f94843 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
                i2c0: i2c@7e205000 {
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/drivers/spi/spi-bcm2835.c
-@@ -707,6 +707,7 @@ static int bcm2835_spi_setup(struct spi_
+@@ -705,6 +705,7 @@ static int bcm2835_spi_setup(struct spi_
                return -EINVAL;
        }
  
@@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        /* now translate native cs to GPIO */
        /* first look for chip select pins in the devices pin groups */
        for (pingroup_index = 0;
-@@ -761,6 +762,7 @@ static int bcm2835_spi_setup(struct spi_
+@@ -759,6 +760,7 @@ static int bcm2835_spi_setup(struct spi_
         * so we are setting it here explicitly
         */
        gpio_set_value(spi->cs_gpio, (spi->mode & SPI_CS_HIGH) ? 0 : 1);
index 4b9ee5d2112c0ac4897e0fe2574104a7f899453b..e7df4ca8018e9ac36fc0b0a55f87aa90b8bed939 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH] fbmem: Ensure that parameters are properly checked within
 
 --- a/drivers/video/fbdev/core/fbmem.c
 +++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1090,7 +1090,13 @@ static int fb_copyarea_user(struct fb_in
+@@ -1097,7 +1097,13 @@ static int fb_copyarea_user(struct fb_in
        int ret = 0;
        if (!lock_fb_info(info))
                return -ENODEV;
index 46466c8e27fb23e0f09176312f19632d25a3035e..038f207440990be266ef9dffa4b031445710e68d 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] spi-bcm2835: Remove unused code
 
 --- a/drivers/spi/spi-bcm2835.c
 +++ b/drivers/spi/spi-bcm2835.c
-@@ -679,17 +679,8 @@ static void bcm2835_spi_set_cs(struct sp
+@@ -677,17 +677,8 @@ static void bcm2835_spi_set_cs(struct sp
        bcm2835_wr(bs, BCM2835_SPI_CS, cs);
  }
  
@@ -27,7 +27,7 @@ Subject: [PATCH] spi-bcm2835: Remove unused code
        /*
         * sanity checking the native-chipselects
         */
-@@ -707,63 +698,6 @@ static int bcm2835_spi_setup(struct spi_
+@@ -705,63 +696,6 @@ static int bcm2835_spi_setup(struct spi_
                return -EINVAL;
        }
  
index 7a3a8e4c250c9ced74b32a14ad0aff37e7515976..87b1526c3a397d5446251ca544f0c5e5e751b2e0 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/arm/mach-cns3xxx/pcie.c
 +++ b/arch/arm/mach-cns3xxx/pcie.c
 @@ -86,6 +86,79 @@ static void __iomem *cns3xxx_pci_map_bus
-       return base + (where & 0xffc) + (devfn << 12);
+       return base + where + (devfn << 12);
  }
  
 +static inline int check_master_abort(struct pci_bus *bus, unsigned int devfn, int where)
@@ -82,7 +82,7 @@
  {
 @@ -95,6 +168,11 @@ static int cns3xxx_pci_read_config(struc
  
-       ret = pci_generic_config_read32(bus, devfn, where, size, val);
+       ret = pci_generic_config_read(bus, devfn, where, size, val);
  
 +      if (check_master_abort(bus, devfn, where)) {
 +              printk(KERN_ERR "pci error: %04d:%02x:%02x.%02x %02x(%d)= master_abort on read\n", pci_domain_nr(bus), bus->number, PCI_SLOT(devfn), PCI_FUNC(devfn), where, size);
index b575b1c84ddc93b7067f6a391cda14dcb5c270b0..d3b9a65feafb40052861f1741ed4b37614afcb79 100644 (file)
@@ -39,7 +39,7 @@
  /**
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -939,6 +939,9 @@ static int spi_transfer_one_message(stru
+@@ -941,6 +941,9 @@ static int spi_transfer_one_message(stru
        list_for_each_entry(xfer, &msg->transfers, transfer_list) {
                trace_spi_transfer_start(msg, xfer);
  
index 4a0bb1f63f35ba179f20ab4b57e203d2f47a3d9e..997d332061acb439fb7e693267cb5644b5658591 100644 (file)
@@ -1891,6 +1891,7 @@ CONFIG_LBDAF=y
 # CONFIG_LCD_S6E63M0 is not set
 # CONFIG_LCD_TDO24M is not set
 # CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LDISC_AUTOLOAD=y
 # CONFIG_LDM_PARTITION is not set
 # CONFIG_LEDS_BCM6328 is not set
 # CONFIG_LEDS_BCM6358 is not set
diff --git a/target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/patches-4.4/030-1-smsc95xx-Use-skb_cow_head-to-deal-with-cloned-skbs.patch
deleted file mode 100644 (file)
index a75ddfc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From e9156cd26a495a18706e796f02a81fee41ec14f4 Mon Sep 17 00:00:00 2001
-From: James Hughes <james.hughes@raspberrypi.org>
-Date: Wed, 19 Apr 2017 11:13:40 +0100
-Subject: [PATCH] smsc95xx: Use skb_cow_head to deal with cloned skbs
-
-The driver was failing to check that the SKB wasn't cloned
-before adding checksum data.
-Replace existing handling to extend/copy the header buffer
-with skb_cow_head.
-
-Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
-Acked-by: Eric Dumazet <edumazet@google.com>
-Acked-by: Woojung Huh <Woojung.Huh@microchip.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/usb/smsc95xx.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
---- a/drivers/net/usb/smsc95xx.c
-+++ b/drivers/net/usb/smsc95xx.c
-@@ -1838,13 +1838,13 @@ static struct sk_buff *smsc95xx_tx_fixup
-       /* We do not advertise SG, so skbs should be already linearized */
-       BUG_ON(skb_shinfo(skb)->nr_frags);
--      if (skb_headroom(skb) < overhead) {
--              struct sk_buff *skb2 = skb_copy_expand(skb,
--                      overhead, 0, flags);
-+      /* Make writable and expand header space by overhead if required */
-+      if (skb_cow_head(skb, overhead)) {
-+              /* Must deallocate here as returning NULL to indicate error
-+               * means the skb won't be deallocated in the caller.
-+               */
-               dev_kfree_skb_any(skb);
--              skb = skb2;
--              if (!skb)
--                      return NULL;
-+              return NULL;
-       }
-       if (csum) {
diff --git a/target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/patches-4.4/030-6-ch9200-use-skb_cow_head-to-deal-with-cloned-skbs.patch
deleted file mode 100644 (file)
index 2e8bba5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 6bc6895bdd6744e0136eaa4a11fbdb20a7db4e40 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet@google.com>
-Date: Wed, 19 Apr 2017 09:59:25 -0700
-Subject: [PATCH] ch9200: use skb_cow_head() to deal with cloned skbs
-
-We need to ensure there is enough headroom to push extra header,
-but we also need to check if we are allowed to change headers.
-
-skb_cow_head() is the proper helper to deal with this.
-
-Fixes: 4a476bd6d1d9 ("usbnet: New driver for QinHeng CH9200 devices")
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Cc: James Hughes <james.hughes@raspberrypi.org>
-Cc: Matthew Garrett <mjg59@srcf.ucam.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/usb/ch9200.c | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
---- a/drivers/net/usb/ch9200.c
-+++ b/drivers/net/usb/ch9200.c
-@@ -255,14 +255,9 @@ static struct sk_buff *ch9200_tx_fixup(s
-       tx_overhead = 0x40;
-       len = skb->len;
--      if (skb_headroom(skb) < tx_overhead) {
--              struct sk_buff *skb2;
--
--              skb2 = skb_copy_expand(skb, tx_overhead, 0, flags);
-+      if (skb_cow_head(skb, tx_overhead)) {
-               dev_kfree_skb_any(skb);
--              skb = skb2;
--              if (!skb)
--                      return NULL;
-+              return NULL;
-       }
-       __skb_push(skb, tx_overhead);
diff --git a/target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch b/target/linux/generic/patches-4.4/030-7-kaweth-use-skb_cow_head-to-deal-with-cloned-skbs.patch
deleted file mode 100644 (file)
index 541c694..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 39fba7835aacda65284a86e611774cbba71dac20 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet@google.com>
-Date: Wed, 19 Apr 2017 09:59:26 -0700
-Subject: [PATCH] kaweth: use skb_cow_head() to deal with cloned skbs
-
-We can use skb_cow_head() to properly deal with clones,
-especially the ones coming from TCP stack that allow their head being
-modified. This avoids a copy.
-
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Cc: James Hughes <james.hughes@raspberrypi.org>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/usb/kaweth.c | 18 ++++++------------
- 1 file changed, 6 insertions(+), 12 deletions(-)
-
---- a/drivers/net/usb/kaweth.c
-+++ b/drivers/net/usb/kaweth.c
-@@ -812,18 +812,12 @@ static netdev_tx_t kaweth_start_xmit(str
-       }
-       /* We now decide whether we can put our special header into the sk_buff */
--      if (skb_cloned(skb) || skb_headroom(skb) < 2) {
--              /* no such luck - we make our own */
--              struct sk_buff *copied_skb;
--              copied_skb = skb_copy_expand(skb, 2, 0, GFP_ATOMIC);
--              dev_kfree_skb_irq(skb);
--              skb = copied_skb;
--              if (!copied_skb) {
--                      kaweth->stats.tx_errors++;
--                      netif_start_queue(net);
--                      spin_unlock_irq(&kaweth->device_lock);
--                      return NETDEV_TX_OK;
--              }
-+      if (skb_cow_head(skb, 2)) {
-+              kaweth->stats.tx_errors++;
-+              netif_start_queue(net);
-+              spin_unlock_irq(&kaweth->device_lock);
-+              dev_kfree_skb_any(skb);
-+              return NETDEV_TX_OK;
-       }
-       private_header = (__le16 *)__skb_push(skb, 2);
index a717f1cee2ff5b0328f3a313a37536626c1ca03f..42791ba9a9a5ab78015757f1423e0789a0b372c2 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -1141,6 +1141,7 @@ static void __spi_pump_messages(struct s
+@@ -1143,6 +1143,7 @@ static void __spi_pump_messages(struct s
                }
        }
  
@@ -32,7 +32,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
        trace_spi_message_start(master->cur_msg);
  
        if (master->prepare_message) {
-@@ -1150,6 +1151,7 @@ static void __spi_pump_messages(struct s
+@@ -1152,6 +1153,7 @@ static void __spi_pump_messages(struct s
                                "failed to prepare message: %d\n", ret);
                        master->cur_msg->status = ret;
                        spi_finalize_current_message(master);
@@ -40,7 +40,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
                        return;
                }
                master->cur_msg_prepared = true;
-@@ -1159,6 +1161,7 @@ static void __spi_pump_messages(struct s
+@@ -1161,6 +1163,7 @@ static void __spi_pump_messages(struct s
        if (ret) {
                master->cur_msg->status = ret;
                spi_finalize_current_message(master);
@@ -48,7 +48,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
                return;
        }
  
-@@ -1166,8 +1169,10 @@ static void __spi_pump_messages(struct s
+@@ -1168,8 +1171,10 @@ static void __spi_pump_messages(struct s
        if (ret) {
                dev_err(&master->dev,
                        "failed to transfer one message from queue\n");
@@ -59,7 +59,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
  }
  
  /**
-@@ -2335,6 +2340,46 @@ int spi_async_locked(struct spi_device *
+@@ -2337,6 +2342,46 @@ int spi_async_locked(struct spi_device *
  EXPORT_SYMBOL_GPL(spi_async_locked);
  
  
index 78188dd2988c1302dac95551435480f4b8afd162..a23a8d00fd943110f5073a25ba120fbbd24c882b 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2753,10 +2753,10 @@ choice
+@@ -2756,10 +2756,10 @@ choice
                  the documented boot protocol using a device tree.
  
        config MIPS_RAW_APPENDED_DTB
@@ -40,7 +40,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
                  (e.g. cat vmlinux.bin <filename>.dtb > vmlinux_w_dtb).
  
                  This is meant as a backward compatibility convenience for those
-@@ -2768,24 +2768,6 @@ choice
+@@ -2771,24 +2771,6 @@ choice
                  look like a DTB header after a reboot if no actual DTB is appended
                  to vmlinux.bin.  Do not leave this option active in a production kernel
                  if you don't intend to always append a DTB.
diff --git a/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch b/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch
deleted file mode 100644 (file)
index 6b48e8c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From cd4b1e34655d46950c065d9284b596cd8d7b28cd Mon Sep 17 00:00:00 2001
-From: John Youn <johnyoun@synopsys.com>
-Date: Thu, 3 Nov 2016 17:55:45 -0700
-Subject: [PATCH] usb: dwc2: Remove unnecessary kfree
-
-This shouldn't be freed by the HCD as it is owned by the core and
-allocated with devm_kzalloc.
-
-Signed-off-by: John Youn <johnyoun@synopsys.com>
-Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
----
- drivers/usb/dwc2/hcd.c | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/drivers/usb/dwc2/hcd.c
-+++ b/drivers/usb/dwc2/hcd.c
-@@ -3164,7 +3164,6 @@ error3:
- error2:
-       usb_put_hcd(hcd);
- error1:
--      kfree(hsotg->core_params);
- #ifdef CONFIG_USB_DWC2_TRACK_MISSED_SOFS
-       kfree(hsotg->last_frame_num_array);
index 016d87671371de43a66b3e68322211f9c83ac34c..a5f5492f0853548811bd3c4a7c7928b5ed750552 100644 (file)
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
  /* Gobi 1000 QMI/wwan interface number is 3 according to qcserial */
  #define QMI_GOBI1K_DEVICE(vend, prod) \
        QMI_FIXED_INTF(vend, prod, 3)
-@@ -915,6 +939,8 @@ static const struct usb_device_id produc
+@@ -916,6 +940,8 @@ static const struct usb_device_id produc
        {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)},    /* HP lt4120 Snapdragon X5 LTE */
        {QMI_FIXED_INTF(0x22de, 0x9061, 3)},    /* WeTelecom WPD-600N */
        {QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},    /* SIMCom 7230E */
diff --git a/target/linux/generic/patches-4.4/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch b/target/linux/generic/patches-4.4/100-arm-cns3xxx-fix-writing-to-wrong-PCI-registers-after.patch
deleted file mode 100644 (file)
index 458515a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 03556dab1cb02d85b50d7be3ee3a3bac001f5991 Mon Sep 17 00:00:00 2001
-From: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Date: Tue, 18 Dec 2018 12:14:06 +0100
-Subject: [PATCH] arm: cns3xxx: fix writing to wrong PCI registers after
- alignment
-
-Originally, cns3xxx used it's own functions for mapping, reading and writing registers.
-
-Commit 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
-removed the internal PCI config write function in favor of the generic one:
-
-cns3xxx_pci_write_config() --> pci_generic_config_write()
-
-cns3xxx_pci_write_config() expected aligned addresses, being produced by cns3xxx_pci_map_bus()
-while the generic one pci_generic_config_write() actually expects the real address
-as both the function and hardware are capable of byte-aligned writes.
-
-This currently leads to pci_generic_config_write() writing
-to the wrong registers on some ocasions.
-
-First issue seen due to this:
-
-- driver ath9k gets loaded
-- The driver wants to write value 0xA8 to register PCI_LATENCY_TIMER, located at 0x0D
-- cns3xxx_pci_map_bus() aligns the address to 0x0C
-- pci_generic_config_write() effectively writes 0xA8 into register 0x0C (CACHE_LINE_SIZE)
-
-This seems to cause some slight instability when certain PCI devices are used.
-
-Another issue example caused by this this is the PCI bus numbering,
-where the primary bus is higher than the secondary, which is impossible.
-
-Before:
-
-00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
-    Flags: bus master, fast devsel, latency 0, IRQ 255
-    Bus: primary=02, secondary=01, subordinate=ff, sec-latency=0
-
-After fix:
-
-00:00.0 PCI bridge: Cavium, Inc. Device 3400 (rev 01) (prog-if 00 [Normal decode])
-    Flags: bus master, fast devsel, latency 0, IRQ 255
-    Bus: primary=00, secondary=01, subordinate=02, sec-latency=0
-
-And very likely some more ..
-
-Fix all by omitting the alignment being done in the mapping function.
-
-Fixes: 802b7c06adc7 ("ARM: cns3xxx: Convert PCI to use generic config accessors")
-Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-CC: Arnd Bergmann <arnd@arndb.de>
-CC: Bjorn Helgaas <bhelgaas@google.com>
-CC: Krzysztof Halasa <khalasa@piap.pl>
-CC: Olof Johansson <olof@lixom.net>
-CC: Robin Leblon <robin.leblon@ncentric.com>
-CC: Rob Herring <robh@kernel.org>
-CC: Russell King <linux@armlinux.org.uk>
-CC: Tim Harvey <tharvey@gateworks.com>
-CC: stable@vger.kernel.org # v4.0+
----
- arch/arm/mach-cns3xxx/pcie.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
-index 318394ed5c7a..5e11ad3164e0 100644
---- a/arch/arm/mach-cns3xxx/pcie.c
-+++ b/arch/arm/mach-cns3xxx/pcie.c
-@@ -83,7 +83,7 @@ static void __iomem *cns3xxx_pci_map_bus(struct pci_bus *bus,
-       } else /* remote PCI bus */
-               base = cnspci->cfg1_regs + ((busno & 0xf) << 20);
--      return base + (where & 0xffc) + (devfn << 12);
-+      return base + where + (devfn << 12);
- }
- static int cns3xxx_pci_read_config(struct pci_bus *bus, unsigned int devfn,
--- 
-2.17.1
-
index 44ca833705789816fea3e92f36ed4ace87030052..2b3384391a7dfaa11e288747f383b32f900161e6 100644 (file)
@@ -33,11 +33,9 @@ CC: stable@vger.kernel.org # v4.0+
  arch/arm/mach-cns3xxx/pcie.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
-index 5e11ad3164e0..95a11d5b3587 100644
 --- a/arch/arm/mach-cns3xxx/pcie.c
 +++ b/arch/arm/mach-cns3xxx/pcie.c
-@@ -93,7 +93,7 @@ static int cns3xxx_pci_read_config(struct pci_bus *bus, unsigned int devfn,
+@@ -93,7 +93,7 @@ static int cns3xxx_pci_read_config(struc
        u32 mask = (0x1ull << (size * 8)) - 1;
        int shift = (where % 4) * 8;
  
@@ -46,6 +44,3 @@ index 5e11ad3164e0..95a11d5b3587 100644
  
        if (ret == PCIBIOS_SUCCESSFUL && !bus->number && !devfn &&
            (where & 0xffc) == PCI_CLASS_REVISION)
--- 
-2.17.1
-
index 143b0bb3ff49e371763715e64e5cb5dd97dae0a5..535ab915b289d9be5b35cd06642a5efb462b22b6 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1619,6 +1619,7 @@ config CPU_CAVIUM_OCTEON
+@@ -1622,6 +1622,7 @@ config CPU_CAVIUM_OCTEON
        select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
        select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
        select MIPS_L1_CACHE_SHIFT_7
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        help
          The Cavium Octeon processor is a highly integrated chip containing
          many ethernet hardware widgets for networking tasks. The processor
-@@ -1914,6 +1915,9 @@ config MIPS_MALTA_PM
+@@ -1917,6 +1918,9 @@ config MIPS_MALTA_PM
        bool
        default y
  
index 0ad684fceacd076877f23e991e3ebc073a259e18..ed80e6cf978fca37d4c829f6509faf0d291b9ed5 100644 (file)
@@ -85,7 +85,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                dmactl |= BIT(DMA_REQUEST_OUTSTANDING);
        writel(dmactl, &dma->dmactl);
  
-@@ -1046,7 +1046,7 @@ net2280_queue(struct usb_ep *_ep, struct
+@@ -1044,7 +1044,7 @@ net2280_queue(struct usb_ep *_ep, struct
  
        /* kickstart this i/o queue? */
        if  (list_empty(&ep->queue) && !ep->stopped &&
@@ -94,7 +94,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                  (readl(&ep->regs->ep_rsp) & BIT(CLEAR_ENDPOINT_HALT)))) {
  
                /* use DMA if the endpoint supports it, else pio */
-@@ -1169,7 +1169,7 @@ static void scan_dma_completions(struct
+@@ -1167,7 +1167,7 @@ static void scan_dma_completions(struct
                        break;
                } else if (!ep->is_in &&
                           (req->req.length % ep->ep.maxpacket) &&
@@ -103,7 +103,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  
                        tmp = readl(&ep->regs->ep_stat);
                        /* AVOID TROUBLE HERE by not issuing short reads from
-@@ -1367,7 +1367,7 @@ net2280_set_halt_and_wedge(struct usb_ep
+@@ -1365,7 +1365,7 @@ net2280_set_halt_and_wedge(struct usb_ep
                                ep->wedged = 1;
                } else {
                        clear_halt(ep);
@@ -112,7 +112,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                !list_empty(&ep->queue) && ep->td_dma)
                                        restart_dma(ep);
                        ep->wedged = 0;
-@@ -2397,7 +2397,7 @@ static int net2280_start(struct usb_gadg
+@@ -2395,7 +2395,7 @@ static int net2280_start(struct usb_gadg
         */
        net2280_led_active(dev, 1);
  
@@ -121,7 +121,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                defect7374_enable_data_eps_zero(dev);
  
        ep0_start(dev);
-@@ -3066,7 +3066,7 @@ static void handle_stat0_irqs(struct net
+@@ -3064,7 +3064,7 @@ static void handle_stat0_irqs(struct net
                }
                ep->stopped = 0;
                dev->protocol_stall = 0;
@@ -130,7 +130,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        if (ep->dev->quirks & PLX_2280)
                                tmp = BIT(FIFO_OVERFLOW) |
                                    BIT(FIFO_UNDERFLOW);
-@@ -3093,7 +3093,7 @@ static void handle_stat0_irqs(struct net
+@@ -3091,7 +3091,7 @@ static void handle_stat0_irqs(struct net
                cpu_to_le32s(&u.raw[0]);
                cpu_to_le32s(&u.raw[1]);
  
@@ -139,7 +139,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        defect7374_workaround(dev, u.r);
  
                tmp = 0;
-@@ -3176,7 +3176,7 @@ static void handle_stat0_irqs(struct net
+@@ -3174,7 +3174,7 @@ static void handle_stat0_irqs(struct net
                        } else {
                                ep_vdbg(dev, "%s clear halt\n", e->ep.name);
                                clear_halt(e);
@@ -148,7 +148,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                        !list_empty(&e->queue) && e->td_dma)
                                                restart_dma(e);
                        }
-@@ -3198,7 +3198,7 @@ static void handle_stat0_irqs(struct net
+@@ -3196,7 +3196,7 @@ static void handle_stat0_irqs(struct net
                        if (e->ep.name == ep0name)
                                goto do_stall;
                        set_halt(e);
@@ -157,7 +157,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                                abort_dma(e);
                        allow_status(ep);
                        ep_vdbg(dev, "%s set halt\n", ep->ep.name);
-@@ -3237,7 +3237,7 @@ do_stall:
+@@ -3235,7 +3235,7 @@ do_stall:
  #undef        w_length
  
  next_endpoints:
@@ -166,7 +166,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                u32 mask = (BIT(ENDPOINT_0_INTERRUPT) |
                        USB3380_IRQSTAT0_EP_INTR_MASK_IN |
                        USB3380_IRQSTAT0_EP_INTR_MASK_OUT);
-@@ -3404,7 +3404,7 @@ __acquires(dev->lock)
+@@ -3402,7 +3402,7 @@ __acquires(dev->lock)
                writel(tmp, &dma->dmastat);
  
                /* dma sync*/
@@ -175,7 +175,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                        u32 r_dmacount = readl(&dma->dmacount);
                        if (!ep->is_in &&  (r_dmacount & 0x00FFFFFF) &&
                            (tmp & BIT(DMA_TRANSACTION_DONE_INTERRUPT)))
-@@ -3473,7 +3473,7 @@ static irqreturn_t net2280_irq(int irq,
+@@ -3471,7 +3471,7 @@ static irqreturn_t net2280_irq(int irq,
        /* control requests and PIO */
        handle_stat0_irqs(dev, readl(&dev->regs->irqstat0));
  
@@ -184,7 +184,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                /* re-enable interrupt to trigger any possible new interrupt */
                u32 pciirqenb1 = readl(&dev->regs->pciirqenb1);
                writel(pciirqenb1 & 0x7FFFFFFF, &dev->regs->pciirqenb1);
-@@ -3518,7 +3518,7 @@ static void net2280_remove(struct pci_de
+@@ -3516,7 +3516,7 @@ static void net2280_remove(struct pci_de
        }
        if (dev->got_irq)
                free_irq(pdev->irq, dev);
@@ -193,7 +193,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                pci_disable_msi(pdev);
        if (dev->regs)
                iounmap(dev->regs);
-@@ -3598,7 +3598,7 @@ static int net2280_probe(struct pci_dev
+@@ -3596,7 +3596,7 @@ static int net2280_probe(struct pci_dev
        dev->dep = (struct net2280_dep_regs __iomem *) (base + 0x0200);
        dev->epregs = (struct net2280_ep_regs __iomem *) (base + 0x0300);
  
@@ -202,7 +202,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                u32 fsmvalue;
                u32 usbstat;
                dev->usb_ext = (struct usb338x_usb_ext_regs __iomem *)
-@@ -3642,7 +3642,7 @@ static int net2280_probe(struct pci_dev
+@@ -3640,7 +3640,7 @@ static int net2280_probe(struct pci_dev
                goto done;
        }
  
@@ -211,7 +211,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
                if (pci_enable_msi(pdev))
                        ep_err(dev, "Failed to enable MSI mode\n");
  
-@@ -3760,10 +3760,19 @@ static const struct pci_device_id pci_id
+@@ -3758,10 +3758,19 @@ static const struct pci_device_id pci_id
        .class =        ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
        .class_mask =   ~0,
        .vendor =       PCI_VENDOR_ID_PLX,
@@ -232,7 +232,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
         },
        {
        .class =        ((PCI_CLASS_SERIAL_USB << 8) | 0xfe),
-@@ -3772,7 +3781,7 @@ static const struct pci_device_id pci_id
+@@ -3770,7 +3779,7 @@ static const struct pci_device_id pci_id
        .device =       0x3382,
        .subvendor =    PCI_ANY_ID,
        .subdevice =    PCI_ANY_ID,
index d9d24263f7b725e8dd5448030d0e1ff06f9d7f5b..0c54d27bfc668b1fa0ccd349d1151d9f0ab2a2c9 100644 (file)
@@ -4,8 +4,8 @@
  KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
  
  ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
--KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
-+KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) $(EXTRA_OPTIMIZATION)
+-KBUILD_CFLAGS += -Os
++KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
  else
  ifdef CONFIG_PROFILE_ALL_BRANCHES
 -KBUILD_CFLAGS += -O2
index 09c62e29ac2b1f2e264511391b5fdcca0abe3819..ba105f1817e76afedb2679e368f13970f1050ec0 100644 (file)
@@ -123,7 +123,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        set_license(mod, get_modinfo(info, "license"));
 --- a/scripts/mod/modpost.c
 +++ b/scripts/mod/modpost.c
-@@ -1964,7 +1964,9 @@ static void read_symbols(char *modname)
+@@ -1966,7 +1966,9 @@ static void read_symbols(char *modname)
                symname = remove_dot(info.strtab + sym->st_name);
  
                handle_modversions(mod, &info, sym, symname);
@@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        }
        if (!is_vmlinux(modname) ||
             (is_vmlinux(modname) && vmlinux_section_warnings))
-@@ -2108,7 +2110,9 @@ static void add_header(struct buffer *b,
+@@ -2110,7 +2112,9 @@ static void add_header(struct buffer *b,
        buf_printf(b, "#include <linux/vermagic.h>\n");
        buf_printf(b, "#include <linux/compiler.h>\n");
        buf_printf(b, "\n");
@@ -143,7 +143,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        buf_printf(b, "\n");
        buf_printf(b, "__visible struct module __this_module\n");
        buf_printf(b, "__attribute__((section(\".gnu.linkonce.this_module\"))) = {\n");
-@@ -2125,8 +2129,10 @@ static void add_header(struct buffer *b,
+@@ -2127,8 +2131,10 @@ static void add_header(struct buffer *b,
  
  static void add_intree_flag(struct buffer *b, int is_intree)
  {
@@ -154,7 +154,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  /* Cannot check for assembler */
-@@ -2139,10 +2145,12 @@ static void add_retpoline(struct buffer
+@@ -2141,10 +2147,12 @@ static void add_retpoline(struct buffer
  
  static void add_staging_flag(struct buffer *b, const char *name)
  {
@@ -167,7 +167,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  /* In kernel, this size is defined in linux/module.h;
-@@ -2246,11 +2254,13 @@ static void add_depends(struct buffer *b
+@@ -2248,11 +2256,13 @@ static void add_depends(struct buffer *b
  
  static void add_srcversion(struct buffer *b, struct module *mod)
  {
@@ -181,7 +181,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
  
  static void write_if_changed(struct buffer *b, const char *fname)
-@@ -2485,7 +2495,9 @@ int main(int argc, char **argv)
+@@ -2487,7 +2497,9 @@ int main(int argc, char **argv)
                add_staging_flag(&buf, mod->name);
                err |= add_versions(&buf, mod);
                add_depends(&buf, mod, modules);
index 4edc16eb7fa02361938d1d3b5c62b63945366d36..61c49883223a307ffea41dbeb30ae59cc528c3e8 100644 (file)
@@ -24,20 +24,6 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  
  /*
   *    IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
-@@ -136,11 +137,13 @@
-  *    This is an Ethernet frame header.
-  */
-+#if __UAPI_DEF_ETHHDR
- struct ethhdr {
-       unsigned char   h_dest[ETH_ALEN];       /* destination eth addr */
-       unsigned char   h_source[ETH_ALEN];     /* source ether addr    */
-       __be16          h_proto;                /* packet type ID field */
- } __attribute__((packed));
-+#endif
- #endif /* _UAPI_LINUX_IF_ETHER_H */
 --- a/include/uapi/linux/libc-compat.h
 +++ b/include/uapi/linux/libc-compat.h
 @@ -85,6 +85,14 @@
index 0980c26d501be7efc2539cc9a46bdf95094f4da7..5ccbb582632a2c435bc7350328c1489fa24f60fd 100644 (file)
@@ -8,7 +8,7 @@ Acked-by: Rob Landley <rob@landley.net>
 ---
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1033,9 +1033,6 @@ config FW_ARC
+@@ -1036,9 +1036,6 @@ config FW_ARC
  config ARCH_MAY_HAVE_PC_FDC
        bool
  
@@ -18,7 +18,7 @@ Acked-by: Rob Landley <rob@landley.net>
  config CEVT_BCM1480
        bool
  
-@@ -2793,6 +2790,18 @@ choice
+@@ -2796,6 +2793,18 @@ choice
                bool "Bootloader kernel arguments if available"
  endchoice
  
index 625a84c8140fe44cda9410db1012951a5582e18e..93730d9f736597378ef10c78cd5234b6bd2113ce 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -1124,6 +1124,10 @@ config SYNC_R4K
+@@ -1127,6 +1127,10 @@ config SYNC_R4K
  config MIPS_MACHINE
        def_bool n
  
index 60b576c1a4e31e92e693bdb8f906326e416ccb12..ed4a0c5d2fd5674ab5651612758bf14948d6d475 100644 (file)
@@ -26,7 +26,7 @@ v2: incorporated changes suggested by Jonas Gorski
 
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2725,6 +2725,20 @@ config MIPS_O32_FP64_SUPPORT
+@@ -2728,6 +2728,20 @@ config MIPS_O32_FP64_SUPPORT
  
          If unsure, say N.
  
index 5a2b67cfcdccad9fcad269d5cd2e67a45dc56b8b..a24fc573c107d98327f196a145d77cc70bddf986 100644 (file)
@@ -21,8 +21,8 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
 
 --- a/arch/arc/kernel/head.S
 +++ b/arch/arc/kernel/head.S
-@@ -49,6 +49,16 @@
- 1:
+@@ -59,6 +59,16 @@
+ #endif
  .endm
  
 +; Here "patch-dtb" will embed external .dtb
index bde7a986c7f2fb7885e40d6e207ff69f964e76d4..ecdaadc18362f1d1f829323d9cdbc359627e0d33 100644 (file)
 +}
 --- a/fs/jffs2/super.c
 +++ b/fs/jffs2/super.c
-@@ -373,14 +373,41 @@ static int __init init_jffs2_fs(void)
+@@ -377,14 +377,41 @@ static int __init init_jffs2_fs(void)
        BUILD_BUG_ON(sizeof(struct jffs2_raw_inode) != 68);
        BUILD_BUG_ON(sizeof(struct jffs2_raw_summary) != 32);
  
index 3740dd74e50b8edfd22e16eed108bc1246652c09..d83485c790147201dfc23ea939ad150adb645abd 100644 (file)
@@ -10,7 +10,7 @@
  /* "Be conservative in what you do,
      be liberal in what you accept from others."
      If it's non-zero, we mark only out of window RST segments as INVALID. */
-@@ -515,6 +518,9 @@ static bool tcp_in_window(const struct n
+@@ -519,6 +522,9 @@ static bool tcp_in_window(const struct n
        s32 receiver_offset;
        bool res, in_recv_win;
  
@@ -20,7 +20,7 @@
        /*
         * Get the required data from the packet.
         */
-@@ -1481,6 +1487,13 @@ static struct ctl_table tcp_sysctl_table
+@@ -1485,6 +1491,13 @@ static struct ctl_table tcp_sysctl_table
                .mode           = 0644,
                .proc_handler   = proc_dointvec,
        },
index 359b1510209d5cd0389f9899041efdd2d9b411e5..9165a82d91a10f81b0dd7d96575524196e1d03ae 100644 (file)
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -3139,6 +3141,7 @@ static int packet_create(struct net *net
+@@ -3148,6 +3150,7 @@ static int packet_create(struct net *net
        mutex_init(&po->pg_vec_lock);
        po->rollover = NULL;
        po->prot_hook.func = packet_rcv;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -3797,6 +3800,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3806,6 +3809,16 @@ packet_setsockopt(struct socket *sock, i
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        default:
                return -ENOPROTOOPT;
        }
-@@ -3849,6 +3862,13 @@ static int packet_getsockopt(struct sock
+@@ -3858,6 +3871,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
index 02dfea46594b120732871329914e5574834c5162..f6383015a9dcebde3271410890c495c5fde1d0f5 100644 (file)
@@ -61,7 +61,7 @@ Isolating individual bridge ports
                skb = NULL;
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -141,7 +141,7 @@ EXPORT_SYMBOL_GPL(br_deliver);
+@@ -140,7 +140,7 @@ EXPORT_SYMBOL_GPL(br_deliver);
  /* called with rcu_read_lock */
  void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, struct sk_buff *skb0)
  {
@@ -70,7 +70,7 @@ Isolating individual bridge ports
                if (skb0)
                        deliver_clone(to, skb, __br_forward);
                else
-@@ -197,7 +197,7 @@ static void br_flood(struct net_bridge *
+@@ -196,7 +196,7 @@ static void br_flood(struct net_bridge *
                     struct sk_buff *skb0,
                     void (*__packet_hook)(const struct net_bridge_port *p,
                                           struct sk_buff *skb),
@@ -79,7 +79,7 @@ Isolating individual bridge ports
  {
        struct net_bridge_port *p;
        struct net_bridge_port *prev;
-@@ -205,6 +205,8 @@ static void br_flood(struct net_bridge *
+@@ -204,6 +204,8 @@ static void br_flood(struct net_bridge *
        prev = NULL;
  
        list_for_each_entry_rcu(p, &br->port_list, list) {
@@ -88,7 +88,7 @@ Isolating individual bridge ports
                /* Do not flood unicast traffic to ports that turn it off */
                if (unicast && !(p->flags & BR_FLOOD))
                        continue;
-@@ -239,14 +241,14 @@ out:
+@@ -238,14 +240,14 @@ out:
  /* called with rcu_read_lock */
  void br_flood_deliver(struct net_bridge *br, struct sk_buff *skb, bool unicast)
  {
index ca23150d7d2f7cbb00670d7baf28964665e4cc47..1b7287278f0af8950c79e8148a4024b946545990 100644 (file)
@@ -172,7 +172,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                        if (err)
                                break;
                }
-@@ -1439,7 +1465,8 @@ br_multicast_leave_group(struct net_brid
+@@ -1432,7 +1458,8 @@ br_multicast_leave_group(struct net_brid
                         struct net_bridge_port *port,
                         struct br_ip *group,
                         struct bridge_mcast_other_query *other_query,
@@ -182,7 +182,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct net_bridge_mdb_htable *mdb;
        struct net_bridge_mdb_entry *mp;
-@@ -1463,7 +1490,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1456,7 +1483,7 @@ br_multicast_leave_group(struct net_brid
                for (pp = &mp->ports;
                     (p = mlock_dereference(*pp, br)) != NULL;
                     pp = &p->next) {
@@ -191,7 +191,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                                continue;
  
                        rcu_assign_pointer(*pp, p->next);
-@@ -1526,7 +1553,7 @@ br_multicast_leave_group(struct net_brid
+@@ -1519,7 +1546,7 @@ br_multicast_leave_group(struct net_brid
        for (p = mlock_dereference(mp->ports, br);
             p != NULL;
             p = mlock_dereference(p->next, br)) {
@@ -200,7 +200,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                        continue;
  
                if (!hlist_unhashed(&p->mglist) &&
-@@ -1544,8 +1571,8 @@ out:
+@@ -1537,8 +1564,8 @@ out:
  
  static void br_ip4_multicast_leave_group(struct net_bridge *br,
                                         struct net_bridge_port *port,
@@ -211,7 +211,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1560,14 +1587,14 @@ static void br_ip4_multicast_leave_group
+@@ -1553,14 +1580,14 @@ static void br_ip4_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip4_other_query,
@@ -228,7 +228,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  {
        struct br_ip br_group;
        struct bridge_mcast_own_query *own_query;
-@@ -1582,7 +1609,7 @@ static void br_ip6_multicast_leave_group
+@@ -1575,7 +1602,7 @@ static void br_ip6_multicast_leave_group
        br_group.vid = vid;
  
        br_multicast_leave_group(br, port, &br_group, &br->ip6_other_query,
@@ -237,7 +237,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  }
  #endif
  
-@@ -1591,6 +1618,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1584,6 +1611,7 @@ static int br_multicast_ipv4_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
@@ -245,7 +245,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
        struct sk_buff *skb_trimmed = NULL;
        struct igmphdr *ih;
        int err;
-@@ -1607,12 +1635,13 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1600,12 +1628,13 @@ static int br_multicast_ipv4_rcv(struct
  
        BR_INPUT_SKB_CB(skb)->igmp = 1;
        ih = igmp_hdr(skb);
@@ -260,7 +260,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        case IGMPV3_HOST_MEMBERSHIP_REPORT:
                err = br_ip4_multicast_igmp3_report(br, port, skb_trimmed, vid);
-@@ -1621,7 +1650,7 @@ static int br_multicast_ipv4_rcv(struct
+@@ -1614,7 +1643,7 @@ static int br_multicast_ipv4_rcv(struct
                err = br_ip4_multicast_query(br, port, skb_trimmed, vid);
                break;
        case IGMP_HOST_LEAVE_MESSAGE:
@@ -269,7 +269,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        }
  
-@@ -1637,6 +1666,7 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1630,6 +1659,7 @@ static int br_multicast_ipv6_rcv(struct
                                 struct sk_buff *skb,
                                 u16 vid)
  {
@@ -277,7 +277,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
        struct sk_buff *skb_trimmed = NULL;
        struct mld_msg *mld;
        int err;
-@@ -1656,8 +1686,9 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1649,8 +1679,9 @@ static int br_multicast_ipv6_rcv(struct
  
        switch (mld->mld_type) {
        case ICMPV6_MGM_REPORT:
@@ -288,7 +288,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
                break;
        case ICMPV6_MLD2_REPORT:
                err = br_ip6_multicast_mld2_report(br, port, skb_trimmed, vid);
-@@ -1666,7 +1697,8 @@ static int br_multicast_ipv6_rcv(struct
+@@ -1659,7 +1690,8 @@ static int br_multicast_ipv6_rcv(struct
                err = br_ip6_multicast_query(br, port, skb_trimmed, vid);
                break;
        case ICMPV6_MGM_REDUCTION:
@@ -333,7 +333,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
        rcu_assign_pointer(*pp, p);
 --- a/net/bridge/br_forward.c
 +++ b/net/bridge/br_forward.c
-@@ -192,6 +192,34 @@ out:
+@@ -191,6 +191,34 @@ out:
        return p;
  }
  
@@ -368,7 +368,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  /* called under bridge lock */
  static void br_flood(struct net_bridge *br, struct sk_buff *skb,
                     struct sk_buff *skb0,
-@@ -264,6 +292,7 @@ static void br_multicast_flood(struct ne
+@@ -263,6 +291,7 @@ static void br_multicast_flood(struct ne
        struct net_bridge_port *prev = NULL;
        struct net_bridge_port_group *p;
        struct hlist_node *rp;
@@ -376,7 +376,7 @@ Implement optinal multicast->unicast conversion for igmp snooping
  
        rp = rcu_dereference(hlist_first_rcu(&br->router_list));
        p = mdst ? rcu_dereference(mdst->ports) : NULL;
-@@ -274,10 +303,19 @@ static void br_multicast_flood(struct ne
+@@ -273,10 +302,19 @@ static void br_multicast_flood(struct ne
                rport = rp ? hlist_entry(rp, struct net_bridge_port, rlist) :
                             NULL;
  
index 1c8ebacf465633bbd2e1039daf05cc4567ee3952..6acdb670deb13015888cb96a3788dd2ef6bb78c3 100644 (file)
@@ -1,6 +1,6 @@
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2177,7 +2177,7 @@ static inline int pskb_network_may_pull(
+@@ -2182,7 +2182,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
index 8d70b82350ee42ba7e1e1ab41b7d9555d70b719a..6aeca173fade8a5d08e25c0d0475acc6f2608211 100644 (file)
@@ -84,7 +84,7 @@
                if (!qdisc)
 --- a/net/sched/sch_api.c
 +++ b/net/sched/sch_api.c
-@@ -1951,7 +1951,7 @@ static int __init pktsched_init(void)
+@@ -1950,7 +1950,7 @@ static int __init pktsched_init(void)
                return err;
        }
  
index 1d33e421ff8b6673a2c0c27e71bcf89f87742be3..b316cf140b0a22ba0c7bb8066404310c74278da8 100644 (file)
@@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static void rt_fibinfo_free(struct rtable __rcu **rtp)
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2370,6 +2370,7 @@ static const char *const rtn_type_names[
+@@ -2380,6 +2380,7 @@ static const char *const rtn_type_names[
        [RTN_THROW] = "THROW",
        [RTN_NAT] = "NAT",
        [RTN_XRESOLVE] = "XRESOLVE",
@@ -78,7 +78,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static inline const char *rtn_type(char *buf, size_t len, unsigned int t)
 --- a/net/ipv4/ipmr.c
 +++ b/net/ipv4/ipmr.c
-@@ -182,6 +182,7 @@ static int ipmr_rule_action(struct fib_r
+@@ -183,6 +183,7 @@ static int ipmr_rule_action(struct fib_r
        case FR_ACT_UNREACHABLE:
                return -ENETUNREACH;
        case FR_ACT_PROHIBIT:
@@ -101,7 +101,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        table = fib6_get_table(net, rule->table);
 --- a/net/ipv6/ip6mr.c
 +++ b/net/ipv6/ip6mr.c
-@@ -167,6 +167,8 @@ static int ip6mr_rule_action(struct fib_
+@@ -169,6 +169,8 @@ static int ip6mr_rule_action(struct fib_
                return -ENETUNREACH;
        case FR_ACT_PROHIBIT:
                return -EACCES;
index 0734bfc5afbb2a984a6c75e9d37b99ff6c859c31..f0f21006dbbecc1fb6959e2fcfc905a4c9ea36e8 100644 (file)
@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -642,7 +642,8 @@ struct sk_buff {
+@@ -647,7 +647,8 @@ struct sk_buff {
  
        __u8                    inner_protocol_type:1;
        __u8                    remcsum_offload:1;
index d78f3d48a7bf805261b5e98ff07920bcd5e69d9b..6c71383665712964129e7defdaf84704648f416f 100644 (file)
@@ -9,7 +9,7 @@
  /**
   * mdiobus_alloc_size - allocate a mii_bus structure
   * @size: extra amount of memory to allocate for private storage.
-@@ -346,9 +348,21 @@ void mdiobus_free(struct mii_bus *bus)
+@@ -345,9 +347,21 @@ void mdiobus_free(struct mii_bus *bus)
  }
  EXPORT_SYMBOL(mdiobus_free);
  
@@ -31,7 +31,7 @@
        int err;
  
        phydev = get_phy_device(bus, addr, false);
-@@ -361,6 +375,12 @@ struct phy_device *mdiobus_scan(struct m
+@@ -360,6 +374,12 @@ struct phy_device *mdiobus_scan(struct m
         */
        of_mdiobus_link_phydev(bus, phydev);
  
index f17c7bd556aa9982e711b4f8ff895e027a70fb9c..5cc9bb0cad011c5f70000908a5af836ec4990348 100644 (file)
@@ -41,7 +41,7 @@
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2208,6 +2208,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2213,6 +2213,10 @@ static inline int pskb_trim(struct sk_bu
        return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -52,7 +52,7 @@
  /**
   *    pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *    @skb: buffer to alter
-@@ -2314,16 +2318,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2319,16 +2323,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
  
  #include <net/protocol.h>
  #include <net/dst.h>
-@@ -520,6 +521,22 @@ skb_fail:
+@@ -524,6 +525,22 @@ skb_fail:
  }
  EXPORT_SYMBOL(__napi_alloc_skb);
  
index b4979c0dc7a65b5f1ca0672fe205d1c4a1619f70..4b851072a80dc6e7491091a26715768a5eb350f8 100644 (file)
@@ -69,7 +69,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
-@@ -4811,6 +4824,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4812,6 +4825,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
                if (tag < 0)
                        return NULL;
        }
@@ -79,7 +79,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        qc = __ata_qc_from_tag(ap, tag);
        qc->tag = tag;
-@@ -5707,6 +5723,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5708,6 +5724,9 @@ struct ata_port *ata_port_alloc(struct a
        ap->stats.unhandled_irq = 1;
        ap->stats.idle_irq = 1;
  #endif
@@ -89,7 +89,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(ap);
  
        return ap;
-@@ -5728,6 +5747,12 @@ static void ata_host_release(struct devi
+@@ -5729,6 +5748,12 @@ static void ata_host_release(struct devi
  
                kfree(ap->pmp_link);
                kfree(ap->slave_link);
@@ -102,7 +102,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
                kfree(ap);
                host->ports[i] = NULL;
        }
-@@ -6174,7 +6199,23 @@ int ata_host_register(struct ata_host *h
+@@ -6175,7 +6200,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;
        }
index 1dc89d52e2aeabc104aa42ac6680dfd13f504a77..eeaabb8505753e1427eaa0c22261ea337e1354c5 100644 (file)
@@ -25,7 +25,7 @@
  obj-$(CONFIG_PROC_FS) += net-procfs.o
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -1474,9 +1474,11 @@ void sk_destruct(struct sock *sk)
+@@ -1475,9 +1475,11 @@ void sk_destruct(struct sock *sk)
  
  static void __sk_free(struct sock *sk)
  {
index d367577cbffd685097414ca78391895cd9b8e25f..cbf9f47fbe9f10025210756391247d883d31c78c 100644 (file)
  
 +      if (IS_ENABLED(CONFIG_PROC_STRIPPED))
 +              return 0;
-       pe = proc_create("timer_list", 0444, NULL, &timer_list_fops);
+       pe = proc_create("timer_list", 0400, NULL, &timer_list_fops);
        if (!pe)
                return -ENOMEM;
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -2685,6 +2685,8 @@ static const struct file_operations proc
+@@ -2689,6 +2689,8 @@ static const struct file_operations proc
  
  static int __init proc_vmalloc_init(void)
  {
  }
 --- a/mm/vmstat.c
 +++ b/mm/vmstat.c
-@@ -1560,10 +1560,12 @@ static int __init setup_vmstat(void)
+@@ -1574,10 +1574,12 @@ static int __init setup_vmstat(void)
        cpu_notifier_register_done();
  #endif
  #ifdef CONFIG_PROC_FS
                goto err;
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3044,6 +3044,8 @@ static __net_initdata struct pernet_oper
+@@ -3048,6 +3048,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
  
 --- a/net/ipv4/fib_trie.c
 +++ b/net/ipv4/fib_trie.c
-@@ -2641,10 +2641,12 @@ static const struct file_operations fib_
+@@ -2651,10 +2651,12 @@ static const struct file_operations fib_
  
  int __net_init fib_proc_init(struct net *net)
  {
                         &fib_triestat_fops))
                goto out2;
  
-@@ -2654,17 +2656,21 @@ int __net_init fib_proc_init(struct net
+@@ -2664,17 +2666,21 @@ int __net_init fib_proc_init(struct net
        return 0;
  
  out3:
  
 --- a/net/ipv4/proc.c
 +++ b/net/ipv4/proc.c
-@@ -539,6 +539,9 @@ static __net_initdata struct pernet_oper
+@@ -541,6 +541,9 @@ static __net_initdata struct pernet_oper
  
  int __init ip_misc_proc_init(void)
  {
index a3401ff4b34bab14cd85fe64ad4ce31fd2d62634..cadcd7467e2e6b7be85dbb312e45d2a7e8688f9d 100644 (file)
@@ -9,7 +9,7 @@
  #ifdef CONFIG_UEVENT_HELPER
  /* path to the userspace helper executed on an event */
  extern char uevent_helper[];
-@@ -222,4 +224,7 @@ int add_uevent_var(struct kobj_uevent_en
+@@ -239,4 +241,7 @@ int add_uevent_var(struct kobj_uevent_en
  int kobject_action_type(const char *buf, size_t count,
                        enum kobject_action *type);
  
index 9a94212235bf7aafd9a267785d1667670435765b..821631d496bc190e67bb8b9966fb02a556eb2599 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/marvell/sky2.c
 +++ b/drivers/net/ethernet/marvell/sky2.c
-@@ -4812,7 +4812,24 @@ static struct net_device *sky2_init_netd
+@@ -4813,7 +4813,24 @@ static struct net_device *sky2_init_netd
         * 1) from device tree data
         * 2) from internal registers set by bootloader
         */
index 96b768d97cfe5f23ff9de7c50f87767a86b2d848..2ca1c929d91d7a9029e427bcc1aacae6355d0dca 100644 (file)
@@ -76,7 +76,7 @@ Signed-off-by: Lee Jones <lee.jones@linaro.org>
        irq_ack = platform_get_irq_byname(pdev, "ack");
        if (irq_ack < 0) {
                dev_err(&pdev->dev, "required ack interrupt missing\n");
-@@ -621,7 +637,11 @@ static int qcom_rpm_probe(struct platfor
+@@ -625,7 +641,11 @@ static int qcom_rpm_probe(struct platfor
  
  static int qcom_rpm_remove(struct platform_device *pdev)
  {
index 5f989bdc06eba9b6b78bcf76256cd865311662e5..1d81564d0d6f263d4b25038ab61eb58999172ab2 100644 (file)
@@ -161,7 +161,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
-@@ -2571,14 +2571,14 @@ static void dwc3_process_event_entry(str
+@@ -2572,14 +2572,14 @@ static void dwc3_process_event_entry(str
        }
  }
  
@@ -178,7 +178,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        left = evt->count;
  
        if (!(evt->flags & DWC3_EVENT_PENDING))
-@@ -2603,7 +2603,7 @@ static irqreturn_t dwc3_process_event_bu
+@@ -2604,7 +2604,7 @@ static irqreturn_t dwc3_process_event_bu
                evt->lpos = (evt->lpos + 4) % DWC3_EVENT_BUFFERS_SIZE;
                left -= 4;
  
@@ -187,7 +187,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        }
  
        evt->count = 0;
-@@ -2611,9 +2611,9 @@ static irqreturn_t dwc3_process_event_bu
+@@ -2612,9 +2612,9 @@ static irqreturn_t dwc3_process_event_bu
        ret = IRQ_HANDLED;
  
        /* Unmask interrupt */
@@ -199,7 +199,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  
        return ret;
  }
-@@ -2623,27 +2623,23 @@ static irqreturn_t dwc3_thread_interrupt
+@@ -2624,27 +2624,23 @@ static irqreturn_t dwc3_thread_interrupt
        struct dwc3 *dwc = _dwc;
        unsigned long flags;
        irqreturn_t ret = IRQ_NONE;
@@ -231,7 +231,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        count &= DWC3_GEVNTCOUNT_MASK;
        if (!count)
                return IRQ_NONE;
-@@ -2652,9 +2648,9 @@ static irqreturn_t dwc3_check_event_buf(
+@@ -2653,9 +2649,9 @@ static irqreturn_t dwc3_check_event_buf(
        evt->flags |= DWC3_EVENT_PENDING;
  
        /* Mask interrupt */
@@ -243,7 +243,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
  
        return IRQ_WAKE_THREAD;
  }
-@@ -2662,18 +2658,8 @@ static irqreturn_t dwc3_check_event_buf(
+@@ -2663,18 +2659,8 @@ static irqreturn_t dwc3_check_event_buf(
  static irqreturn_t dwc3_interrupt(int irq, void *_dwc)
  {
        struct dwc3                     *dwc = _dwc;
index fef5c68a017fc97a96aa283d03f67bfae8bc1111..e8172a1220a34550eba1ec25872c78519d20e53c 100644 (file)
@@ -76,7 +76,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        struct usb_gadget       gadget;
 --- a/drivers/usb/dwc3/gadget.c
 +++ b/drivers/usb/dwc3/gadget.c
-@@ -2578,7 +2578,7 @@ static irqreturn_t dwc3_process_event_bu
+@@ -2579,7 +2579,7 @@ static irqreturn_t dwc3_process_event_bu
        int left;
        u32 reg;
  
@@ -85,7 +85,7 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
        left = evt->count;
  
        if (!(evt->flags & DWC3_EVENT_PENDING))
-@@ -2637,7 +2637,7 @@ static irqreturn_t dwc3_check_event_buf(
+@@ -2638,7 +2638,7 @@ static irqreturn_t dwc3_check_event_buf(
        u32 count;
        u32 reg;
  
index 033b5bab1afacdc92ec2a07ac2af492857af2a41..89c07dac2e6469d7fa1b63889c70e285a75696cd 100644 (file)
@@ -820,7 +820,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
  #endif
 --- a/net/dsa/slave.c
 +++ b/net/dsa/slave.c
-@@ -1186,6 +1186,11 @@ int dsa_slave_create(struct dsa_switch *
+@@ -1190,6 +1190,11 @@ int dsa_slave_create(struct dsa_switch *
                p->xmit = brcm_netdev_ops.xmit;
                break;
  #endif
index 29f09f23237a66efe24c29a03e8f891aaef1d734..41a5cd890e126765a9371783ee596b1fcc1184ba 100644 (file)
@@ -180,6 +180,6 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
 +      }
 +#endif
 +
+       /* parameters may set static keys */
+       jump_label_init();
        parse_early_param();
-       after_dashes = parse_args("Booting kernel",
-                                 static_command_line, __start___param,
index c2574f96deef1e63e0118561f9edb03e482a11c5..96f154065053caf285be0ca232bb3ca3cd6a8e9a 100644 (file)
@@ -10,7 +10,7 @@
  
        /* Get the HEAD */
        skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node);
-@@ -1148,6 +1151,10 @@ int pskb_expand_head(struct sk_buff *skb
+@@ -1152,6 +1155,10 @@ int pskb_expand_head(struct sk_buff *skb
        if (skb_shared(skb))
                BUG();
  
index af6ec20c5766557531d47301186b6244a0e2ee3f..ddac934cce02894d737c7a2a6073c36d4479c905 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Ezequiel Garcia <ezequiel.garcia <at> free-electrons.com>
 ---
 --- a/drivers/net/ethernet/marvell/mv643xx_eth.c
 +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
-@@ -3178,11 +3178,11 @@ static int mv643xx_eth_probe(struct plat
+@@ -3183,11 +3183,11 @@ static int mv643xx_eth_probe(struct plat
        dev->watchdog_timeo = 2 * HZ;
        dev->base_addr = 0;
  
index bf883c8758760e60febc650b3eb2bfce749fd43a..7e52f5558789350199d5b2dbf2d2f8c47bc36b2d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2221,6 +2221,12 @@ config MIPS_VPE_LOADER
+@@ -2224,6 +2224,12 @@ config MIPS_VPE_LOADER
          Includes a loader for loading an elf relocatable object
          onto another VPE and running it.
  
index ef9c104b36bd1de01fed827248f518ffa6e29652..aee322f092ab01720eb49232dd1589830476e719 100644 (file)
@@ -109,7 +109,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        help
 --- a/arch/powerpc/Kconfig
 +++ b/arch/powerpc/Kconfig
-@@ -787,6 +787,11 @@ config FSL_GTM
+@@ -792,6 +792,11 @@ config FSL_GTM
        help
          Freescale General-purpose Timers support
  
@@ -121,7 +121,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
  # Yes MCA RS/6000s exist but Linux-PPC does not currently support any
  config MCA
        bool
-@@ -919,14 +924,14 @@ config DYNAMIC_MEMSTART
+@@ -924,14 +929,14 @@ config DYNAMIC_MEMSTART
        select NONSTATIC_KERNEL
        help
          This option enables the kernel to be loaded at any page aligned
index 062233f18b983dd53005f8668cd915aa0b4ce6f3..47051a101f11d67ebc4117298a54d8c00fb61d87 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -799,6 +799,7 @@ void kfree_skb(struct sk_buff *skb);
+@@ -804,6 +804,7 @@ void kfree_skb(struct sk_buff *skb);
  void kfree_skb_list(struct sk_buff *segs);
  void skb_tx_error(struct sk_buff *skb);
  void consume_skb(struct sk_buff *skb);
@@ -24,7 +24,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
  
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
-@@ -766,6 +766,32 @@ void consume_skb(struct sk_buff *skb)
+@@ -770,6 +770,32 @@ void consume_skb(struct sk_buff *skb)
  }
  EXPORT_SYMBOL(consume_skb);
  
index c89a58c37ee133aedd6f1921cffa0618944e1e3f..5e54a666147af972eeaab39748efc6f8cab3d1a9 100644 (file)
@@ -18,7 +18,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
 
 --- a/include/linux/netdev_features.h
 +++ b/include/linux/netdev_features.h
-@@ -66,6 +66,9 @@ enum {
+@@ -68,6 +68,9 @@ enum {
        NETIF_F_HW_VLAN_STAG_FILTER_BIT,/* Receive filtering on VLAN STAGs */
        NETIF_F_HW_L2FW_DOFFLOAD_BIT,   /* Allow L2 Forwarding in Hardware */
        NETIF_F_BUSY_POLL_BIT,          /* Busy poll */
@@ -28,7 +28,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
  
        /*
         * Add your fresh new feature above and remember to update
-@@ -124,6 +127,9 @@ enum {
+@@ -126,6 +129,9 @@ enum {
  #define NETIF_F_HW_VLAN_STAG_TX       __NETIF_F(HW_VLAN_STAG_TX)
  #define NETIF_F_HW_L2FW_DOFFLOAD      __NETIF_F(HW_L2FW_DOFFLOAD)
  #define NETIF_F_BUSY_POLL     __NETIF_F(BUSY_POLL)
@@ -36,5 +36,5 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
 +#define NETIF_F_HW_QDISC       __NETIF_F(HW_QDISC)
 +#define NETIF_F_HW_ACCEL_MQ    __NETIF_F(HW_ACCEL_MQ)
  
- #define for_each_netdev_feature(mask_addr, bit)       \
-       for_each_set_bit(bit, (unsigned long *)mask_addr, NETDEV_FEATURE_COUNT)
+ /* Finds the next feature with the highest number of the range of start till 0.
+  */
index faa0d7ab0bf3877472db4f3eee6cf47c97eef783..24f79895dab19df74c8cd7e035e2c95eb915f725 100644 (file)
@@ -17,7 +17,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
 
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -188,6 +188,11 @@ source "arch/arm64/Kconfig.platforms"
+@@ -187,6 +187,11 @@ source "arch/arm64/Kconfig.platforms"
  
  menu "Bus support"
  
index 21339e819e37bc2e25b873cce22a56c54e62e574..c7c2ee5b9be4597e1bc39b4a3ad52a647c75c047 100644 (file)
@@ -15054,7 +15054,7 @@ Integrated-by: Yutang Jiang <yutang.jiang@nxp.com>
 +#endif /* _PLATFORM_H_ */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -858,6 +858,17 @@ static inline struct sk_buff *alloc_skb_
+@@ -863,6 +863,17 @@ static inline struct sk_buff *alloc_skb_
        return __alloc_skb(size, priority, SKB_ALLOC_FCLONE, NUMA_NO_NODE);
  }
  
index 5ebb4591aa8657bfcd24c4275041e9613627801c..67184e14a0c8b636e34c9975998e689c5f644447 100644 (file)
@@ -77,9 +77,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  }
 --- a/scripts/mod/file2alias.c
 +++ b/scripts/mod/file2alias.c
-@@ -1271,6 +1271,18 @@ static int do_hda_entry(const char *file
+@@ -1186,6 +1186,18 @@ static int do_hda_entry(const char *file
+       return 1;
  }
- ADD_TO_DEVTABLE("hdaudio", hda_device_id, do_hda_entry);
  
 +/* Looks like: fsl-mc:vNdN */
 +static int do_fsl_mc_entry(const char *filename, void *symval,
index 624aab36a82534fb8d8b8fc55c2c4b9cdcddfc94..d7e5bb97f5e2fbecb45dffc7d938df236127324e 100644 (file)
@@ -34,7 +34,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
 
 --- a/drivers/mmc/host/sdhci-of-esdhc.c
 +++ b/drivers/mmc/host/sdhci-of-esdhc.c
-@@ -635,6 +635,14 @@ static int sdhci_esdhc_probe(struct plat
+@@ -640,6 +640,14 @@ static int sdhci_esdhc_probe(struct plat
        if (of_device_is_compatible(np, "fsl,ls1021a-esdhc"))
                host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
  
index dad8e884506d7b07ce10f9bd42a3452c6cc47487..0c9eb39f41a0a26c37b5940f3bae34213ef58954 100644 (file)
@@ -180,7 +180,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
 +#endif /* _PCI_LAYERSCAPE_H */
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
-@@ -3593,8 +3593,9 @@ int pci_dev_specific_reset(struct pci_de
+@@ -3594,8 +3594,9 @@ int pci_dev_specific_reset(struct pci_de
  static void quirk_dma_func0_alias(struct pci_dev *dev)
  {
        if (PCI_FUNC(dev->devfn) != 0) {
@@ -192,7 +192,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  }
  
-@@ -3609,8 +3610,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_R
+@@ -3610,8 +3611,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_R
  static void quirk_dma_func1_alias(struct pci_dev *dev)
  {
        if (PCI_FUNC(dev->devfn) != 1) {
@@ -204,7 +204,7 @@ Signed-off-by: Zhao Qiang <qiang.zhao@nxp.com>
        }
  }
  
-@@ -3681,11 +3683,12 @@ static void quirk_fixed_dma_alias(struct
+@@ -3684,11 +3686,12 @@ static void quirk_fixed_dma_alias(struct
  
        id = pci_match_id(fixed_dma_alias_tbl, dev);
        if (id) {
index 1cc3b0539ebb59bdfb59ff12c9f9688d6491590d..65db67f8c008dd64fc4913ee9af179fd787e9969 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
 
 --- a/drivers/mmc/host/sdhci-of-esdhc.c
 +++ b/drivers/mmc/host/sdhci-of-esdhc.c
-@@ -629,6 +629,7 @@ static int sdhci_esdhc_probe(struct plat
+@@ -634,6 +634,7 @@ static int sdhci_esdhc_probe(struct plat
            of_device_is_compatible(np, "fsl,p4080-esdhc") ||
            of_device_is_compatible(np, "fsl,p1020-esdhc") ||
            of_device_is_compatible(np, "fsl,t1040-esdhc") ||
index c4b97bcd47e74130933e0194a69dc149974125d0..7de48c3d4e1591b7e768bfbacf35b3fa9f7d0e98 100644 (file)
@@ -96,7 +96,7 @@ Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
  #endif
 --- a/arch/arm64/kernel/head.S
 +++ b/arch/arm64/kernel/head.S
-@@ -212,6 +212,8 @@ ENTRY(stext)
+@@ -213,6 +213,8 @@ ENTRY(stext)
        bl      el2_setup                       // Drop to EL1, w20=cpu_boot_mode
        adrp    x24, __PHYS_OFFSET
        bl      set_cpu_boot_mode_flag
@@ -105,7 +105,7 @@ Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
        bl      __create_page_tables            // x25=TTBR0, x26=TTBR1
        /*
         * The following calls CPU setup code, see arch/arm64/mm/proc.S for
-@@ -243,6 +245,24 @@ preserve_boot_args:
+@@ -244,6 +246,24 @@ preserve_boot_args:
  ENDPROC(preserve_boot_args)
  
  /*
@@ -130,7 +130,7 @@ Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
   * Macro to create a table entry to the next page.
   *
   *    tbl:    page table address
-@@ -306,7 +326,8 @@ ENDPROC(preserve_boot_args)
+@@ -307,7 +327,8 @@ ENDPROC(preserve_boot_args)
   * required to get the kernel running. The following sections are required:
   *   - identity mapping to enable the MMU (low address, TTBR0)
   *   - first few MB of the kernel linear mapping to jump to once the MMU has
@@ -140,7 +140,7 @@ Signed-off-by: Yutang Jiang <yutang.jiang@nxp.com>
   */
  __create_page_tables:
        adrp    x25, idmap_pg_dir
-@@ -396,6 +417,22 @@ __create_page_tables:
+@@ -397,6 +418,22 @@ __create_page_tables:
        create_block_map x0, x7, x3, x5, x6
  
        /*
index cb91b13265ca81eedc975519af75c2b96144506e..d0e0a8893ddcf213633432047a40aa9b3b389fd2 100644 (file)
@@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3113,17 +3114,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3116,17 +3117,22 @@ static u32 xhci_td_remainder(struct xhci
  {
        u32 maxp, total_packet_count;
  
@@ -1455,7 +1455,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
        /* Queueing functions don't count the current TRB into transferred */
        return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3511,7 +3517,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3514,7 +3520,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
                field |= 0x1;
  
        /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1466,7 +1466,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
                                field |= TRB_TX_TYPE(TRB_DATA_IN);
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -31,6 +31,7 @@
+@@ -32,6 +32,7 @@
  
  #include "xhci.h"
  #include "xhci-trace.h"
@@ -1474,7 +1474,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
  
  #define DRIVER_AUTHOR "Sarah Sharp"
  #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
-@@ -635,7 +636,11 @@ int xhci_run(struct usb_hcd *hcd)
+@@ -633,7 +634,11 @@ int xhci_run(struct usb_hcd *hcd)
                        "// Set the interrupt modulation register");
        temp = readl(&xhci->ir_set->irq_control);
        temp &= ~ER_IRQ_INTERVAL_MASK;
@@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
        writel(temp, &xhci->ir_set->irq_control);
  
        /* Set the HCD state before we enable the irqs */
-@@ -1730,6 +1735,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1728,6 +1733,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
        xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
        xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
                        (unsigned int) ep->desc.bEndpointAddress,
                        udev->slot_id,
-@@ -1825,6 +1833,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1823,6 +1831,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
                return -ENOMEM;
        }
  
@@ -1515,7 +1515,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1638,6 +1638,7 @@ struct xhci_hcd {
+@@ -1639,6 +1639,7 @@ struct xhci_hcd {
  /* For controllers with a broken beyond repair streams implementation */
  #define XHCI_BROKEN_STREAMS   (1 << 19)
  #define XHCI_PME_STUCK_QUIRK  (1 << 20)
index e657ee514a9b283bd8a395f633de3165985c783a..49ceec5589e0a3428d33dccee33ad31855969b30 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -114,6 +114,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
+@@ -115,6 +115,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
  src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
  src-plat-$(CONFIG_PPC_CELL_QPACE) += pseries-head.S
@@ -25,7 +25,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  
  src-wlib := $(sort $(src-wlib-y))
  src-plat := $(sort $(src-plat-y))
-@@ -297,6 +298,7 @@ image-$(CONFIG_TQM8555)                    += cuImage.tqm
+@@ -298,6 +299,7 @@ image-$(CONFIG_TQM8555)                    += cuImage.tqm
  image-$(CONFIG_TQM8560)                       += cuImage.tqm8560
  image-$(CONFIG_SBC8548)                       += cuImage.sbc8548
  image-$(CONFIG_KSI8560)                       += cuImage.ksi8560
index 6bffa6fe6a12518cbb3ec1460c8f3b2b158fe008..96f29a1d0351d616cda1b5008d4712ec9145d6b6 100644 (file)
@@ -180,6 +180,6 @@ Signed-off-by: Adrian Panella <ianchi74@outlook.com>
 +      }
 +#endif
 +
+       /* parameters may set static keys */
+       jump_label_init();
        parse_early_param();
-       after_dashes = parse_args("Booting kernel",
-                                 static_command_line, __start___param,
index cd426718dbf4379e37d369870222db28fb68a1c2..a65582ee001e36d2df44bc930cb04feba6604d50 100644 (file)
@@ -15,7 +15,7 @@
        /* initialize internal qc */
  
        /* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4818,6 +4826,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
+@@ -4819,6 +4827,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
        if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
                return NULL;
  
@@ -25,7 +25,7 @@
        /* libsas case */
        if (ap->flags & ATA_FLAG_SAS_HOST) {
                tag = ata_sas_allocate_tag(ap);
-@@ -4863,6 +4874,8 @@ void ata_qc_free(struct ata_queued_cmd *
+@@ -4864,6 +4875,8 @@ void ata_qc_free(struct ata_queued_cmd *
                qc->tag = ATA_TAG_POISON;
                if (ap->flags & ATA_FLAG_SAS_HOST)
                        ata_sas_free_tag(tag, ap);
index 05832bc5366b19d5b1a4f5b38b4c6c86d02dbc5c..ff834be42987d91668bdfc9ef89101b48e68c801 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2665,6 +2665,18 @@ static struct usb_device_id uvc_ids[] =
+@@ -2673,6 +2673,18 @@ static struct usb_device_id uvc_ids[] =
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_QUIRK_FORCE_Y8 },
@@ -64,7 +64,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  
  #include <media/v4l2-common.h>
  
-@@ -1104,9 +1109,149 @@ static void uvc_video_decode_data(struct
+@@ -1112,9 +1117,149 @@ static void uvc_video_decode_data(struct
        }
  }
  
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        /* Mark the buffer as done if the EOF marker is set. */
        if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
                uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1519,6 +1664,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1527,6 +1672,8 @@ static int uvc_init_video_isoc(struct uv
        if (npackets == 0)
                return -ENOMEM;
  
index 2493e20f938818781ef3e9a2d82d2f38111140af..7916830757547225de466b703fff43b4440bfe2e 100644 (file)
@@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
  /*
   * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA
-@@ -3113,17 +3114,22 @@ static u32 xhci_td_remainder(struct xhci
+@@ -3116,17 +3117,22 @@ static u32 xhci_td_remainder(struct xhci
  {
        u32 maxp, total_packet_count;
  
@@ -1447,7 +1447,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        /* Queueing functions don't count the current TRB into transferred */
        return (total_packet_count - ((transferred + trb_buff_len) / maxp));
  }
-@@ -3511,7 +3517,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
+@@ -3514,7 +3520,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
                field |= 0x1;
  
        /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */
@@ -1458,7 +1458,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                                field |= TRB_TX_TYPE(TRB_DATA_IN);
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -31,6 +31,7 @@
+@@ -32,6 +32,7 @@
  
  #include "xhci.h"
  #include "xhci-trace.h"
@@ -1466,7 +1466,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
  #define DRIVER_AUTHOR "Sarah Sharp"
  #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
-@@ -635,7 +636,11 @@ int xhci_run(struct usb_hcd *hcd)
+@@ -633,7 +634,11 @@ int xhci_run(struct usb_hcd *hcd)
                        "// Set the interrupt modulation register");
        temp = readl(&xhci->ir_set->irq_control);
        temp &= ~ER_IRQ_INTERVAL_MASK;
@@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        writel(temp, &xhci->ir_set->irq_control);
  
        /* Set the HCD state before we enable the irqs */
-@@ -1730,6 +1735,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1728,6 +1733,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
        xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
                        (unsigned int) ep->desc.bEndpointAddress,
                        udev->slot_id,
-@@ -1825,6 +1833,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1823,6 +1831,15 @@ int xhci_add_endpoint(struct usb_hcd *hc
                return -ENOMEM;
        }
  
@@ -1507,7 +1507,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1638,6 +1638,7 @@ struct xhci_hcd {
+@@ -1639,6 +1639,7 @@ struct xhci_hcd {
  /* For controllers with a broken beyond repair streams implementation */
  #define XHCI_BROKEN_STREAMS   (1 << 19)
  #define XHCI_PME_STUCK_QUIRK  (1 << 20)