aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch2
-rw-r--r--target/linux/generic/patches-4.1/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch35
-rw-r--r--target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch114
-rw-r--r--target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch6
-rw-r--r--target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch8
-rw-r--r--target/linux/generic/patches-4.1/630-packet_socket_type.patch16
-rw-r--r--target/linux/generic/patches-4.1/653-disable_netlink_trim.patch2
-rw-r--r--target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch2
-rw-r--r--target/linux/generic/patches-4.1/664-codel_fix_3_12.patch2
-rw-r--r--target/linux/generic/patches-4.3/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch35
10 files changed, 19 insertions, 203 deletions
diff --git a/target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch b/target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch
index 052f457342..bad5b34e65 100644
--- a/target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch
+++ b/target/linux/generic/patches-4.1/103-packet_allow_empty_payload.patch
@@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- 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 */
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
index fce5d2967c..0000000000
--- a/target/linux/generic/patches-4.1/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
+++ /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
index 71e89dc434..0000000000
--- a/target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
+++ /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
diff --git a/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch b/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
index 47be6efbfd..935c731d0f 100644
--- a/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
+++ b/target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
@@ -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
-@@ -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) */
@@ -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) */
-@@ -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);
@@ -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
-@@ -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;
}
diff --git a/target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch b/target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
index 6adac77669..5ad82f1f51 100644
--- a/target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
+++ b/target/linux/generic/patches-4.1/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch
@@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
--- 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;
}
@@ -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)
{
-@@ -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) {
@@ -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;
-@@ -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]) {
@@ -82,7 +82,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
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;
diff --git a/target/linux/generic/patches-4.1/630-packet_socket_type.patch b/target/linux/generic/patches-4.1/630-packet_socket_type.patch
index ca6ce297c4..3b284f171f 100644
--- a/target/linux/generic/patches-4.1/630-packet_socket_type.patch
+++ b/target/linux/generic/patches-4.1/630-packet_socket_type.patch
@@ -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
-@@ -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;
@@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/*
* 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;
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/*
* 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.
*/
@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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;
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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);
@@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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;
}
@@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
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;
diff --git a/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch
index 5df265b025..be8bf7eede 100644
--- a/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-4.1/653-disable_netlink_trim.patch
@@ -1,6 +1,6 @@
--- 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)
{
diff --git a/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch b/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
index e7b781be9b..3cbbae3114 100644
--- a/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
+++ b/target/linux/generic/patches-4.1/662-use_fq_codel_by_default.patch
@@ -32,7 +32,7 @@
{
--- 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;
diff --git a/target/linux/generic/patches-4.1/664-codel_fix_3_12.patch b/target/linux/generic/patches-4.1/664-codel_fix_3_12.patch
index 6b2cbc5950..8e156fd79d 100644
--- a/target/linux/generic/patches-4.1/664-codel_fix_3_12.patch
+++ b/target/linux/generic/patches-4.1/664-codel_fix_3_12.patch
@@ -1,6 +1,6 @@
--- 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;
}
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
index fce5d2967c..0000000000
--- a/target/linux/generic/patches-4.3/191-usb-ehci-orion-fix-probe-for-GENERIC_PHY.patch
+++ /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)