kernel/4.1: update to version 4.1.15
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 12 Jan 2016 20:51:34 +0000 (20:51 +0000)
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 12 Jan 2016 20:51:34 +0000 (20:51 +0000)
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48223 3c298f89-4303-0410-b956-a3cf2f4a3e73

19 files changed:
include/kernel-version.mk
target/linux/ar71xx/patches-4.1/910-unaligned_access_hacks.patch
target/linux/bcm53xx/patches-4.1/191-usb-xhci-add-Broadcom-specific-fake-doorbell.patch
target/linux/bcm53xx/patches-4.1/810-USB-bcma-use-simpler-devm_gpiod_get.patch
target/linux/brcm47xx/patches-4.1/400-mtd-bcm47xxpart-get-nvram.patch
target/linux/brcm63xx/patches-4.1/573-board_R5010UNv2.patch
target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch
target/linux/generic/patches-4.1/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch [deleted file]
target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch [deleted file]
target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
target/linux/generic/patches-4.1/630-packet_socket_type.patch
target/linux/generic/patches-4.1/653-disable_netlink_trim.patch
target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
target/linux/generic/patches-4.1/664-codel_fix_3_12.patch
target/linux/generic/patches-4.3/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch [deleted file]
target/linux/lantiq/patches-4.1/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
target/linux/lantiq/patches-4.1/0050-MIPS-lantiq-add-clk_round_rate.patch
target/linux/mediatek/patches/0047-xhci-mediatek-support-MTK-xHCI-host-controller.patch

index 26b9643..f212c7a 100644 (file)
@@ -3,12 +3,12 @@
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .23
 LINUX_RELEASE?=1
 
 LINUX_VERSION-3.18 = .23
-LINUX_VERSION-4.1 = .13
+LINUX_VERSION-4.1 = .15
 LINUX_VERSION-4.3 =
 LINUX_VERSION-4.4 =
 
 LINUX_KERNEL_MD5SUM-3.18.23 = dc6d265ab38716be3676ac294b481ad8
 LINUX_VERSION-4.3 =
 LINUX_VERSION-4.4 =
 
 LINUX_KERNEL_MD5SUM-3.18.23 = dc6d265ab38716be3676ac294b481ad8
-LINUX_KERNEL_MD5SUM-4.1.13 = af9dd5d8f71185a64a8eccface15fc00
+LINUX_KERNEL_MD5SUM-4.1.15 = b227333912b161c96ff3e30f5041e1c0
 LINUX_KERNEL_MD5SUM-4.3 = 58b35794eee3b6d52ce7be39357801e7
 LINUX_KERNEL_MD5SUM-4.4 = 9a78fa2eb6c68ca5a40ed5af08142599
 
 LINUX_KERNEL_MD5SUM-4.3 = 58b35794eee3b6d52ce7be39357801e7
 LINUX_KERNEL_MD5SUM-4.4 = 9a78fa2eb6c68ca5a40ed5af08142599
 
index bd41bdf..7fee654 100644 (file)
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -772,10 +773,10 @@ static void tcp_v6_send_response(struct
+@@ -775,10 +776,10 @@ static void tcp_v6_send_response(struct
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
   */
 --- a/net/ipv6/datagram.c
 +++ b/net/ipv6/datagram.c
   */
 --- a/net/ipv6/datagram.c
 +++ b/net/ipv6/datagram.c
-@@ -424,7 +424,7 @@ int ipv6_recv_error(struct sock *sk, str
+@@ -426,7 +426,7 @@ int ipv6_recv_error(struct sock *sk, str
                                ipv6_iface_scope_id(&sin->sin6_addr,
                                                    IP6CB(skb)->iif);
                } else {
                                ipv6_iface_scope_id(&sin->sin6_addr,
                                                    IP6CB(skb)->iif);
                } else {
                                               &sin->sin6_addr);
                        sin->sin6_scope_id = 0;
                }
                                               &sin->sin6_addr);
                        sin->sin6_scope_id = 0;
                }
-@@ -761,12 +761,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -763,12 +763,12 @@ int ip6_datagram_send_ctl(struct net *ne
                        }
  
                        if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
                        }
  
                        if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
  
  #define       IP6_MF          0x0001
  #define       IP6_OFFSET      0xFFF8
  
  #define       IP6_MF          0x0001
  #define       IP6_OFFSET      0xFFF8
-@@ -396,8 +396,8 @@ static inline void __ipv6_addr_set_half(
+@@ -415,8 +415,8 @@ static inline void __ipv6_addr_set_half(
        }
  #endif
  #endif
        }
  #endif
  #endif
  }
  
  static inline void ipv6_addr_set(struct in6_addr *addr, 
  }
  
  static inline void ipv6_addr_set(struct in6_addr *addr, 
-@@ -456,6 +456,8 @@ static inline bool ipv6_prefix_equal(con
+@@ -475,6 +475,8 @@ static inline bool ipv6_prefix_equal(con
        const __be32 *a1 = addr1->s6_addr32;
        const __be32 *a2 = addr2->s6_addr32;
        unsigned int pdw, pbi;
        const __be32 *a1 = addr1->s6_addr32;
        const __be32 *a2 = addr2->s6_addr32;
        unsigned int pdw, pbi;
  
        /* check complete u32 in prefix */
        pdw = prefixlen >> 5;
  
        /* check complete u32 in prefix */
        pdw = prefixlen >> 5;
-@@ -464,7 +466,9 @@ static inline bool ipv6_prefix_equal(con
+@@ -483,7 +485,9 @@ static inline bool ipv6_prefix_equal(con
  
        /* check incomplete u32 in prefix */
        pbi = prefixlen & 0x1f;
  
        /* check incomplete u32 in prefix */
        pbi = prefixlen & 0x1f;
                return false;
  
        return true;
                return false;
  
        return true;
-@@ -607,13 +611,13 @@ static inline void ipv6_addr_set_v4mappe
+@@ -627,13 +631,13 @@ static inline void ipv6_addr_set_v4mappe
   */
  static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
  {
   */
  static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
  {
                if (xb)
                        return i * 32 + 31 - __fls(ntohl(xb));
        }
                if (xb)
                        return i * 32 + 31 - __fls(ntohl(xb));
        }
-@@ -739,17 +743,18 @@ static inline __be32 ip6_make_flowlabel(
+@@ -759,17 +763,18 @@ static inline __be32 ip6_make_flowlabel(
  static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
                                __be32 flowlabel)
  {
  static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
                                __be32 flowlabel)
  {
index f25a9e5..c2cbe2c 100644 (file)
@@ -74,7 +74,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  /*
   * Set the run bit and wait for the host to be running.
   */
  /*
   * Set the run bit and wait for the host to be running.
   */
-@@ -557,10 +590,25 @@ int xhci_init(struct usb_hcd *hcd)
+@@ -567,10 +600,25 @@ int xhci_init(struct usb_hcd *hcd)
  
  static int xhci_run_finished(struct xhci_hcd *xhci)
  {
  
  static int xhci_run_finished(struct xhci_hcd *xhci)
  {
@@ -103,7 +103,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
        xhci->shared_hcd->state = HC_STATE_RUNNING;
        xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
  
        xhci->shared_hcd->state = HC_STATE_RUNNING;
        xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
  
-@@ -570,6 +618,9 @@ static int xhci_run_finished(struct xhci
+@@ -580,6 +628,9 @@ static int xhci_run_finished(struct xhci
        xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                        "Finished xhci_run for USB3 roothub");
        return 0;
        xhci_dbg_trace(xhci, trace_xhci_dbg_init,
                        "Finished xhci_run for USB3 roothub");
        return 0;
index 32a5113..f9b9870 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 
 --- a/drivers/usb/host/bcma-hcd.c
 +++ b/drivers/usb/host/bcma-hcd.c
 
 --- a/drivers/usb/host/bcma-hcd.c
 +++ b/drivers/usb/host/bcma-hcd.c
-@@ -568,8 +568,7 @@ static int bcma_hcd_probe(struct bcma_device *dev)
+@@ -568,8 +568,7 @@ static int bcma_hcd_probe(struct bcma_de
        usb_dev->core = dev;
  
        if (dev->dev.of_node)
        usb_dev->core = dev;
  
        if (dev->dev.of_node)
index de109e3..4fb8a87 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
-@@ -100,6 +100,7 @@ static int bcm47xxpart_parse(struct mtd_
+@@ -127,6 +127,7 @@ static int bcm47xxpart_parse(struct mtd_
        int last_trx_part = -1;
        int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
        int err;
        int last_trx_part = -1;
        int possible_nvram_sizes[] = { 0x8000, 0xF000, 0x10000, };
        int err;
@@ -8,7 +8,7 @@
  
        /*
         * Some really old flashes (like AT45DB*) had smaller erasesize-s, but
  
        /*
         * Some really old flashes (like AT45DB*) had smaller erasesize-s, but
-@@ -306,12 +307,23 @@ static int bcm47xxpart_parse(struct mtd_
+@@ -334,12 +335,23 @@ static int bcm47xxpart_parse(struct mtd_
                if (buf[0] == NVRAM_HEADER) {
                        bcm47xxpart_add_part(&parts[curr_part++], "nvram",
                                             master->size - blocksize, 0);
                if (buf[0] == NVRAM_HEADER) {
                        bcm47xxpart_add_part(&parts[curr_part++], "nvram",
                                             master->size - blocksize, 0);
index cf5a719..6e3b031 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -641,6 +641,51 @@
+@@ -641,6 +641,51 @@ static struct board_info __initdata boar
                },
        },
  };
                },
        },
  };
@@ -52,7 +52,7 @@
  #endif /* CONFIG_BCM63XX_CPU_6328 */
  
  /*
  #endif /* CONFIG_BCM63XX_CPU_6328 */
  
  /*
-@@ -2452,6 +2497,7 @@
+@@ -2452,6 +2497,7 @@ static const struct board_info __initcon
        &board_A4001N1,
        &board_dsl_274xb_f1,
        &board_FAST2704V2,
        &board_A4001N1,
        &board_dsl_274xb_f1,
        &board_FAST2704V2,
@@ -60,7 +60,7 @@
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6338
        &board_96338gw,
  #endif
  #ifdef CONFIG_BCM63XX_CPU_6338
        &board_96338gw,
-@@ -2550,6 +2596,7 @@
+@@ -2550,6 +2596,7 @@ static struct of_device_id const bcm963x
        { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
        { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
        { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
        { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
        { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
        { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
index 052f457..bad5b34 100644 (file)
@@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
 
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
 
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -2106,7 +2106,7 @@ static void tpacket_destruct_skb(struct
+@@ -2112,7 +2112,7 @@ static void tpacket_destruct_skb(struct
  static bool ll_header_truncated(const struct net_device *dev, int len)
  {
        /* net device doesn't like empty head */
  static bool ll_header_truncated(const struct net_device *dev, int len)
  {
        /* net device doesn't like empty head */
diff --git a/target/linux/generic/patches-4.1/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch b/target/linux/generic/patches-4.1/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
deleted file mode 100644 (file)
index fce5d29..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From a95f03e51471dbdbafd3391991d867ac2358ed02 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Sun, 23 Aug 2015 14:23:29 +0200
-Subject: [PATCH] usb: ehci-orion: fix probe for !GENERIC_PHY
-
-Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
-added support for optional phys, but devm_phy_optional_get returns
--ENOSYS if GENERIC_PHY is not enabled.
-
-This causes probe failures, even when there are no phys specified:
-
-[    1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38
-[    1.449403] orion-ehci: probe of f1058000.usb failed with error -38
-
-Similar to dwc3, treat -ENOSYS as no phy.
-
-Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
----
- drivers/usb/host/ehci-orion.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/host/ehci-orion.c
-+++ b/drivers/usb/host/ehci-orion.c
-@@ -224,7 +224,8 @@ static int ehci_orion_drv_probe(struct p
-       priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
-       if (IS_ERR(priv->phy)) {
-               err = PTR_ERR(priv->phy);
--              goto err_phy_get;
-+              if (err != -ENOSYS)
-+                      goto err_phy_get;
-       } else {
-               err = phy_init(priv->phy);
-               if (err)
diff --git a/target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch b/target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
deleted file mode 100644 (file)
index 71e89dc..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-From 128524b9db3e4f4245226852bee771bd03db75be Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20=C5=A0tetiar?= <ynezz@true.cz>
-Date: Tue, 3 Nov 2015 11:01:42 +0100
-Subject: [PATCH 1/2] USB: qcserial: Add support for Quectel EC20 Mini PCIe
- module
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It seems like this device has same vendor and product IDs as G2K
-devices, but it has different number of interfaces(4 vs 5) and also
-different interface layout which makes it currently unusable:
-
-       usbcore: registered new interface driver qcserial
-       usbserial: USB Serial support registered for Qualcomm USB modem
-       usb 2-1.2: unknown number of interfaces: 5
-
-lsusb output:
-
-       Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless
-       Device Descriptor:
-         bLength                18
-         bDescriptorType         1
-         bcdUSB               2.00
-         bDeviceClass            0 (Defined at Interface level)
-         bDeviceSubClass         0
-         bDeviceProtocol         0
-         bMaxPacketSize0        64
-         idVendor           0x05c6 Qualcomm, Inc.
-         idProduct          0x9215 Acer Gobi 2000 Wireless Modem
-         bcdDevice            2.32
-         iManufacturer           1 Quectel
-         iProduct                2 Quectel LTE Module
-         iSerial                 0
-         bNumConfigurations      1
-         Configuration Descriptor:
-           bLength                 9
-           bDescriptorType         2
-           wTotalLength          209
-           bNumInterfaces          5
-           bConfigurationValue     1
-           iConfiguration          0
-           bmAttributes         0xa0
-             (Bus Powered)
-             Remote Wakeup
-           MaxPower              500mA
-
-Signed-off-by: Petr Štetiar <ynezz@true.cz>
----
- drivers/usb/serial/qcserial.c |   39 +++++++++++++++++++++++++++++++++++++++
- 1 file changed, 39 insertions(+)
-
---- a/drivers/usb/serial/qcserial.c
-+++ b/drivers/usb/serial/qcserial.c
-@@ -22,6 +22,8 @@
- #define DRIVER_AUTHOR "Qualcomm Inc"
- #define DRIVER_DESC "Qualcomm USB Serial driver"
-+#define QUECTEL_EC20_IDPRODUCT 0x9215
-+
- /* standard device layouts supported by this driver */
- enum qcserial_layouts {
-       QCSERIAL_G2K = 0,       /* Gobi 2000 */
-@@ -169,6 +171,38 @@ static const struct usb_device_id id_tab
- };
- MODULE_DEVICE_TABLE(usb, id_table);
-+static int handle_quectel_ec20(struct device *dev, int ifnum)
-+{
-+      int altsetting = 0;
-+
-+      /*
-+       * Quectel EC20 Mini PCIe LTE module layout:
-+       * 0: DM/DIAG (use libqcdm from ModemManager for communication)
-+       * 1: NMEA
-+       * 2: AT-capable modem port
-+       * 3: Modem interface
-+       * 4: NDIS
-+       */
-+      switch (ifnum) {
-+      case 0:
-+              dev_dbg(dev, "Quectel EC20 DM/DIAG interface found\n");
-+              break;
-+      case 1:
-+              dev_dbg(dev, "Quectel EC20 NMEA GPS interface found\n");
-+              break;
-+      case 2:
-+      case 3:
-+              dev_dbg(dev, "Quectel EC20 Modem port found\n");
-+              break;
-+      case 4:
-+              /* Don't claim the QMI/net interface */
-+              altsetting = -1;
-+              break;
-+      }
-+
-+      return altsetting;
-+}
-+
- static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
- {
-       struct usb_host_interface *intf = serial->interface->cur_altsetting;
-@@ -237,6 +271,11 @@ static int qcprobe(struct usb_serial *se
-                       altsetting = -1;
-               break;
-       case QCSERIAL_G2K:
-+              if (nintf == 5 && id->idProduct == QUECTEL_EC20_IDPRODUCT) {
-+                      altsetting = handle_quectel_ec20(dev, ifnum);
-+                      goto done;
-+              }
-+
-               /*
-                * Gobi 2K+ USB layout:
-                * 0: QMI/net
index 47be6ef..935c731 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
 
 --- a/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
 
 --- a/drivers/net/usb/qmi_wwan.c
 +++ b/drivers/net/usb/qmi_wwan.c
-@@ -815,6 +815,7 @@ static const struct usb_device_id produc
+@@ -820,6 +820,7 @@ static const struct usb_device_id produc
        {QMI_GOBI_DEVICE(0x05c6, 0x9245)},      /* Samsung Gobi 2000 Modem device (VL176) */
        {QMI_GOBI_DEVICE(0x03f0, 0x251d)},      /* HP Gobi 2000 Modem device (VP412) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9215)},      /* Acer Gobi 2000 Modem device (VP413) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9245)},      /* Samsung Gobi 2000 Modem device (VL176) */
        {QMI_GOBI_DEVICE(0x03f0, 0x251d)},      /* HP Gobi 2000 Modem device (VP412) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9215)},      /* Acer Gobi 2000 Modem device (VP413) */
@@ -56,7 +56,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
        {QMI_GOBI_DEVICE(0x05c6, 0x9265)},      /* Asus Gobi 2000 Modem device (VR305) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9235)},      /* Top Global Gobi 2000 Modem device (VR306) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9275)},      /* iRex Technologies Gobi 2000 Modem device (VR307) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9265)},      /* Asus Gobi 2000 Modem device (VR305) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9235)},      /* Top Global Gobi 2000 Modem device (VR306) */
        {QMI_GOBI_DEVICE(0x05c6, 0x9275)},      /* iRex Technologies Gobi 2000 Modem device (VR307) */
-@@ -846,10 +847,24 @@ static const struct usb_device_id produc
+@@ -851,10 +852,24 @@ static const struct usb_device_id produc
  };
  MODULE_DEVICE_TABLE(usb, products);
  
  };
  MODULE_DEVICE_TABLE(usb, products);
  
@@ -81,7 +81,7 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
  
        /* Workaround to enable dynamic IDs.  This disables usbnet
         * blacklisting functionality.  Which, if required, can be
  
        /* Workaround to enable dynamic IDs.  This disables usbnet
         * blacklisting functionality.  Which, if required, can be
-@@ -861,6 +876,12 @@ static int qmi_wwan_probe(struct usb_int
+@@ -866,6 +881,12 @@ static int qmi_wwan_probe(struct usb_int
                id->driver_info = (unsigned long)&qmi_wwan_info;
        }
  
                id->driver_info = (unsigned long)&qmi_wwan_info;
        }
  
index 6adac77..5ad82f1 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
 
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c
-@@ -61,6 +61,34 @@ static void bcm47xxpart_add_part(struct mtd_partition *part, const char *name,
+@@ -61,6 +61,34 @@ static void bcm47xxpart_add_part(struct
        part->mask_flags = mask_flags;
  }
  
        part->mask_flags = mask_flags;
  }
  
@@ -48,7 +48,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
  static const char *bcm47xxpart_trx_data_part_name(struct mtd_info *master,
                                                  size_t offset)
  {
  static const char *bcm47xxpart_trx_data_part_name(struct mtd_info *master,
                                                  size_t offset)
  {
-@@ -182,6 +210,8 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -182,6 +210,8 @@ static int bcm47xxpart_parse(struct mtd_
  
                /* TRX */
                if (buf[0x000 / 4] == TRX_MAGIC) {
  
                /* TRX */
                if (buf[0x000 / 4] == TRX_MAGIC) {
@@ -57,7 +57,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
                        if (BCM47XXPART_MAX_PARTS - curr_part < 4) {
                                pr_warn("Not enough partitions left to register trx, scanning stopped!\n");
                                break;
                        if (BCM47XXPART_MAX_PARTS - curr_part < 4) {
                                pr_warn("Not enough partitions left to register trx, scanning stopped!\n");
                                break;
-@@ -196,18 +226,18 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -196,18 +226,18 @@ static int bcm47xxpart_parse(struct mtd_
                        i = 0;
                        /* We have LZMA loader if offset[2] points to sth */
                        if (trx->offset[2]) {
                        i = 0;
                        /* We have LZMA loader if offset[2] points to sth */
                        if (trx->offset[2]) {
@@ -82,7 +82,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
                                i++;
                        }
  
                                i++;
                        }
  
-@@ -219,11 +249,11 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -219,11 +249,11 @@ static int bcm47xxpart_parse(struct mtd_
                        if (trx->offset[i]) {
                                const char *name;
  
                        if (trx->offset[i]) {
                                const char *name;
  
index ca6ce29..3b284f1 100644 (file)
@@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
  #define PACKET_FANOUT_LB              1
 --- a/net/packet/af_packet.c
 +++ b/net/packet/af_packet.c
-@@ -1533,6 +1533,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1547,6 +1547,7 @@ static int packet_rcv_spkt(struct sk_buf
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
  {
        struct sock *sk;
        struct sockaddr_pkt *spkt;
@@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        /*
         *      When we registered the protocol we saved the socket in the data
  
        /*
         *      When we registered the protocol we saved the socket in the data
-@@ -1540,6 +1541,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1554,6 +1555,7 @@ static int packet_rcv_spkt(struct sk_buf
         */
  
        sk = pt->af_packet_priv;
         */
  
        sk = pt->af_packet_priv;
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        /*
         *      Yank back the headers [hope the device set this
  
        /*
         *      Yank back the headers [hope the device set this
-@@ -1552,7 +1554,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -1566,7 +1568,7 @@ static int packet_rcv_spkt(struct sk_buf
         *      so that this procedure is noop.
         */
  
         *      so that this procedure is noop.
         */
  
@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto out;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
-@@ -1759,12 +1761,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -1765,12 +1767,12 @@ static int packet_rcv(struct sk_buff *sk
        int skb_len = skb->len;
        unsigned int snaplen, res;
  
        int skb_len = skb->len;
        unsigned int snaplen, res;
  
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -1884,12 +1886,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -1890,12 +1892,12 @@ static int tpacket_rcv(struct sk_buff *s
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
        BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
  
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
        if (!net_eq(dev_net(dev), sock_net(sk)))
                goto drop;
  
-@@ -2851,6 +2853,7 @@ static int packet_create(struct net *net
+@@ -2871,6 +2873,7 @@ static int packet_create(struct net *net
        spin_lock_init(&po->bind_lock);
        mutex_init(&po->pg_vec_lock);
        po->prot_hook.func = packet_rcv;
        spin_lock_init(&po->bind_lock);
        mutex_init(&po->pg_vec_lock);
        po->prot_hook.func = packet_rcv;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
  
        if (sock->type == SOCK_PACKET)
                po->prot_hook.func = packet_rcv_spkt;
-@@ -3456,6 +3459,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -3476,6 +3479,16 @@ packet_setsockopt(struct socket *sock, i
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
                po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
                return 0;
        }
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
        default:
                return -ENOPROTOOPT;
        }
        default:
                return -ENOPROTOOPT;
        }
-@@ -3507,6 +3520,13 @@ static int packet_getsockopt(struct sock
+@@ -3527,6 +3540,13 @@ static int packet_getsockopt(struct sock
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
        case PACKET_VNET_HDR:
                val = po->has_vnet_hdr;
                break;
index 5df265b..be8bf7e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/netlink/af_netlink.c
 +++ b/net/netlink/af_netlink.c
 --- a/net/netlink/af_netlink.c
 +++ b/net/netlink/af_netlink.c
-@@ -1775,27 +1775,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1776,27 +1776,7 @@ void netlink_detachskb(struct sock *sk,
  
  static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
  {
  
  static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
  {
index e7b781b..3cbbae3 100644 (file)
@@ -32,7 +32,7 @@
  {
 --- a/include/net/sch_generic.h
 +++ b/include/net/sch_generic.h
  {
 --- a/include/net/sch_generic.h
 +++ b/include/net/sch_generic.h
-@@ -340,6 +340,7 @@ extern struct Qdisc noop_qdisc;
+@@ -343,6 +343,7 @@ extern struct Qdisc noop_qdisc;
  extern struct Qdisc_ops noop_qdisc_ops;
  extern struct Qdisc_ops pfifo_fast_ops;
  extern struct Qdisc_ops mq_qdisc_ops;
  extern struct Qdisc_ops noop_qdisc_ops;
  extern struct Qdisc_ops pfifo_fast_ops;
  extern struct Qdisc_ops mq_qdisc_ops;
index 6b2cbc5..8e156fd 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/sched/sch_api.c
 +++ b/net/sched/sch_api.c
 --- a/net/sched/sch_api.c
 +++ b/net/sched/sch_api.c
-@@ -1951,7 +1951,7 @@ static int __init pktsched_init(void)
+@@ -1960,7 +1960,7 @@ static int __init pktsched_init(void)
                return err;
        }
  
                return err;
        }
  
diff --git a/target/linux/generic/patches-4.3/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch b/target/linux/generic/patches-4.3/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
deleted file mode 100644 (file)
index fce5d29..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From a95f03e51471dbdbafd3391991d867ac2358ed02 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Sun, 23 Aug 2015 14:23:29 +0200
-Subject: [PATCH] usb: ehci-orion: fix probe for !GENERIC_PHY
-
-Commit d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
-added support for optional phys, but devm_phy_optional_get returns
--ENOSYS if GENERIC_PHY is not enabled.
-
-This causes probe failures, even when there are no phys specified:
-
-[    1.443365] orion-ehci f1058000.usb: init f1058000.usb fail, -38
-[    1.449403] orion-ehci: probe of f1058000.usb failed with error -38
-
-Similar to dwc3, treat -ENOSYS as no phy.
-
-Fixes: d445913ce0ab7f ("usb: ehci-orion: add optional PHY support")
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
----
- drivers/usb/host/ehci-orion.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/usb/host/ehci-orion.c
-+++ b/drivers/usb/host/ehci-orion.c
-@@ -224,7 +224,8 @@ static int ehci_orion_drv_probe(struct p
-       priv->phy = devm_phy_optional_get(&pdev->dev, "usb");
-       if (IS_ERR(priv->phy)) {
-               err = PTR_ERR(priv->phy);
--              goto err_phy_get;
-+              if (err != -ENOSYS)
-+                      goto err_phy_get;
-       } else {
-               err = phy_init(priv->phy);
-               if (err)
index 35a2e18..8784b5b 100644 (file)
@@ -16,7 +16,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
 
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -101,7 +101,13 @@
+@@ -101,7 +101,13 @@ config LANTIQ_ETOP
        tristate "Lantiq SoC ETOP driver"
        depends on SOC_TYPE_XWAY
        ---help---
        tristate "Lantiq SoC ETOP driver"
        depends on SOC_TYPE_XWAY
        ---help---
@@ -33,7 +33,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
  source "drivers/net/ethernet/mellanox/Kconfig"
 --- a/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
  source "drivers/net/ethernet/mellanox/Kconfig"
 --- a/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ obj-$(CONFIG_IP1000) += icplus/
  obj-$(CONFIG_JME) += jme.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o
  obj-$(CONFIG_JME) += jme.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o
index b2cd356..c8288f9 100644 (file)
@@ -17,9 +17,9 @@ Cc: <stable@vger.kernel.org> # 4.1+
 
 --- a/arch/mips/lantiq/clk.c
 +++ b/arch/mips/lantiq/clk.c
 
 --- a/arch/mips/lantiq/clk.c
 +++ b/arch/mips/lantiq/clk.c
-@@ -99,6 +99,23 @@ int clk_set_rate(struct clk *clk, unsign
+@@ -116,6 +116,23 @@ long clk_round_rate(struct clk *clk, uns
  }
  }
- EXPORT_SYMBOL(clk_set_rate);
+ EXPORT_SYMBOL(clk_round_rate);
  
 +long clk_round_rate(struct clk *clk, unsigned long rate)
 +{
  
 +long clk_round_rate(struct clk *clk, unsigned long rate)
 +{
index 135ac63..55e340d 100644 (file)
@@ -784,7 +784,7 @@ Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
  
  #define DRIVER_AUTHOR "Sarah Sharp"
  #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
  
  #define DRIVER_AUTHOR "Sarah Sharp"
  #define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
-@@ -624,7 +625,11 @@ int xhci_run(struct usb_hcd *hcd)
+@@ -634,7 +635,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;
                        "// Set the interrupt modulation register");
        temp = readl(&xhci->ir_set->irq_control);
        temp &= ~ER_IRQ_INTERVAL_MASK;
@@ -797,7 +797,7 @@ Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
        writel(temp, &xhci->ir_set->irq_control);
  
        /* Set the HCD state before we enable the irqs */
        writel(temp, &xhci->ir_set->irq_control);
  
        /* Set the HCD state before we enable the irqs */
-@@ -1698,6 +1703,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
+@@ -1708,6 +1713,9 @@ int xhci_drop_endpoint(struct usb_hcd *h
  
        xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
  
        xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
  
@@ -807,7 +807,7 @@ Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
        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,
        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,
-@@ -1793,6 +1801,12 @@ int xhci_add_endpoint(struct usb_hcd *hc
+@@ -1803,6 +1811,12 @@ int xhci_add_endpoint(struct usb_hcd *hc
                return -ENOMEM;
        }
  
                return -ENOMEM;
        }