mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 5.10 to 5.10.153 (#10377)
Manually rebased: bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch lantiq/patches-5.10/0028-NET-lantiq-various-etop-fixes.patch All other patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> Signed-off-by: John Audia <therealgraysky@proton.me> Co-authored-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
parent
1c46edde16
commit
6d2ba007d7
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-5.10 = .152
|
LINUX_VERSION-5.10 = .153
|
||||||
LINUX_KERNEL_HASH-5.10.152 = fa0b5c83a4ebfda9f0a52cc693646eb6c24dbade6c37ee2d18b66ee2df15d8a6
|
LINUX_KERNEL_HASH-5.10.153 = 3cf2e4519fe451caef0ee0a8beac694612267325f7055fc38d6a990a762f1662
|
||||||
|
@ -13,7 +13,7 @@ produce a noisy warning.
|
|||||||
|
|
||||||
--- a/drivers/usb/host/xhci-pci.c
|
--- a/drivers/usb/host/xhci-pci.c
|
||||||
+++ b/drivers/usb/host/xhci-pci.c
|
+++ b/drivers/usb/host/xhci-pci.c
|
||||||
@@ -287,6 +287,7 @@ static void xhci_pci_quirks(struct devic
|
@@ -291,6 +291,7 @@ static void xhci_pci_quirks(struct devic
|
||||||
pdev->device == 0x0015) {
|
pdev->device == 0x0015) {
|
||||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||||
xhci->quirks |= XHCI_ZERO_64B_REGS;
|
xhci->quirks |= XHCI_ZERO_64B_REGS;
|
||||||
@ -43,7 +43,7 @@ produce a noisy warning.
|
|||||||
hcd->msi_enabled = 1;
|
hcd->msi_enabled = 1;
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/drivers/usb/host/xhci.h
|
+++ b/drivers/usb/host/xhci.h
|
||||||
@@ -1896,6 +1896,7 @@ struct xhci_hcd {
|
@@ -1897,6 +1897,7 @@ struct xhci_hcd {
|
||||||
struct xhci_hub usb2_rhub;
|
struct xhci_hub usb2_rhub;
|
||||||
struct xhci_hub usb3_rhub;
|
struct xhci_hub usb3_rhub;
|
||||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||||
|
@ -706,7 +706,7 @@
|
|||||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||||
--- a/net/ipv4/tcp_input.c
|
--- a/net/ipv4/tcp_input.c
|
||||||
+++ b/net/ipv4/tcp_input.c
|
+++ b/net/ipv4/tcp_input.c
|
||||||
@@ -4127,14 +4127,16 @@ static bool tcp_parse_aligned_timestamp(
|
@@ -4128,14 +4128,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||||
{
|
{
|
||||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||||
|
|
||||||
|
@ -127,11 +127,11 @@ it on BCM4708 family.
|
|||||||
/*
|
/*
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/drivers/usb/host/xhci.h
|
+++ b/drivers/usb/host/xhci.h
|
||||||
@@ -1889,6 +1889,7 @@ struct xhci_hcd {
|
@@ -1890,6 +1890,7 @@ struct xhci_hcd {
|
||||||
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
|
|
||||||
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)
|
||||||
#define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
|
#define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43)
|
||||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(44)
|
#define XHCI_RESET_TO_DEFAULT BIT_ULL(44)
|
||||||
|
+#define XHCI_FAKE_DOORBELL BIT_ULL(45)
|
||||||
|
|
||||||
unsigned int num_active_eps;
|
unsigned int num_active_eps;
|
||||||
unsigned int limit_active_eps;
|
unsigned int limit_active_eps;
|
||||||
|
@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
|
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@@ -1555,6 +1716,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
@@ -1556,6 +1717,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
|
||||||
t->parms.link = p->link;
|
t->parms.link = p->link;
|
||||||
t->parms.proto = p->proto;
|
t->parms.proto = p->proto;
|
||||||
t->parms.fwmark = p->fwmark;
|
t->parms.fwmark = p->fwmark;
|
||||||
@ -353,7 +353,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
dst_cache_reset(&t->dst_cache);
|
dst_cache_reset(&t->dst_cache);
|
||||||
ip6_tnl_link_config(t);
|
ip6_tnl_link_config(t);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1593,6 +1762,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
@@ -1594,6 +1763,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
|
||||||
p->flowinfo = u->flowinfo;
|
p->flowinfo = u->flowinfo;
|
||||||
p->link = u->link;
|
p->link = u->link;
|
||||||
p->proto = u->proto;
|
p->proto = u->proto;
|
||||||
@ -361,7 +361,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
memcpy(p->name, u->name, sizeof(u->name));
|
memcpy(p->name, u->name, sizeof(u->name));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1978,6 +2148,15 @@ static int ip6_tnl_validate(struct nlatt
|
@@ -1979,6 +2149,15 @@ static int ip6_tnl_validate(struct nlatt
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -377,7 +377,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
static void ip6_tnl_netlink_parms(struct nlattr *data[],
|
||||||
struct __ip6_tnl_parm *parms)
|
struct __ip6_tnl_parm *parms)
|
||||||
{
|
{
|
||||||
@@ -2015,6 +2194,46 @@ static void ip6_tnl_netlink_parms(struct
|
@@ -2016,6 +2195,46 @@ static void ip6_tnl_netlink_parms(struct
|
||||||
|
|
||||||
if (data[IFLA_IPTUN_FWMARK])
|
if (data[IFLA_IPTUN_FWMARK])
|
||||||
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
|
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
|
||||||
@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
|
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
|
||||||
@@ -2130,6 +2349,12 @@ static void ip6_tnl_dellink(struct net_d
|
@@ -2131,6 +2350,12 @@ static void ip6_tnl_dellink(struct net_d
|
||||||
|
|
||||||
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
static size_t ip6_tnl_get_size(const struct net_device *dev)
|
||||||
{
|
{
|
||||||
@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
return
|
return
|
||||||
/* IFLA_IPTUN_LINK */
|
/* IFLA_IPTUN_LINK */
|
||||||
nla_total_size(4) +
|
nla_total_size(4) +
|
||||||
@@ -2159,6 +2384,24 @@ static size_t ip6_tnl_get_size(const str
|
@@ -2160,6 +2385,24 @@ static size_t ip6_tnl_get_size(const str
|
||||||
nla_total_size(0) +
|
nla_total_size(0) +
|
||||||
/* IFLA_IPTUN_FWMARK */
|
/* IFLA_IPTUN_FWMARK */
|
||||||
nla_total_size(4) +
|
nla_total_size(4) +
|
||||||
@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
0;
|
0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2166,6 +2409,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
@@ -2167,6 +2410,9 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||||
{
|
{
|
||||||
struct ip6_tnl *tunnel = netdev_priv(dev);
|
struct ip6_tnl *tunnel = netdev_priv(dev);
|
||||||
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
struct __ip6_tnl_parm *parm = &tunnel->parms;
|
||||||
@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
|
|
||||||
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
|
||||||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
|
||||||
@@ -2175,9 +2421,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
@@ -2176,9 +2422,27 @@ static int ip6_tnl_fill_info(struct sk_b
|
||||||
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
|
||||||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
|
||||||
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
|
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
|
||||||
@ -501,7 +501,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|||||||
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
|
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
|
||||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
|
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
|
||||||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
|
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
|
||||||
@@ -2217,6 +2481,7 @@ static const struct nla_policy ip6_tnl_p
|
@@ -2218,6 +2482,7 @@ static const struct nla_policy ip6_tnl_p
|
||||||
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
|
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
|
||||||
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
|
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
|
||||||
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
|
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },
|
||||||
|
@ -625,7 +625,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -457,16 +651,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
@@ -457,15 +651,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||||
int queue = skb_get_queue_mapping(skb);
|
int queue = skb_get_queue_mapping(skb);
|
||||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
|
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
|
||||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||||
@ -641,13 +641,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
|
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
|
||||||
|
|
||||||
- if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
|
- if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
|
||||||
- dev_kfree_skb_any(skb);
|
|
||||||
+ if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) ||
|
+ if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) ||
|
||||||
+ priv->txch.skb[priv->txch.dma.desc]) {
|
+ priv->txch.skb[priv->txch.dma.desc]) {
|
||||||
netdev_err(dev, "tx ring full\n");
|
netdev_err(dev, "tx ring full\n");
|
||||||
netif_tx_stop_queue(txq);
|
netif_tx_stop_queue(txq);
|
||||||
return NETDEV_TX_BUSY;
|
return NETDEV_TX_BUSY;
|
||||||
@@ -474,7 +668,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
@@ -473,7 +668,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||||
|
|
||||||
/* dma needs to start on a 16 byte aligned address */
|
/* dma needs to start on a 16 byte aligned address */
|
||||||
byte_offset = CPHYSADDR(skb->data) % 16;
|
byte_offset = CPHYSADDR(skb->data) % 16;
|
||||||
@ -656,7 +655,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
netif_trans_update(dev);
|
netif_trans_update(dev);
|
||||||
|
|
||||||
@@ -484,11 +678,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
@@ -483,11 +678,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||||
wmb();
|
wmb();
|
||||||
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
|
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
|
||||||
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
|
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
|
||||||
@ -671,7 +670,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
netif_tx_stop_queue(txq);
|
netif_tx_stop_queue(txq);
|
||||||
|
|
||||||
return NETDEV_TX_OK;
|
return NETDEV_TX_OK;
|
||||||
@@ -499,11 +693,14 @@ ltq_etop_change_mtu(struct net_device *d
|
@@ -498,11 +693,14 @@ ltq_etop_change_mtu(struct net_device *d
|
||||||
{
|
{
|
||||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
@ -687,7 +686,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@@ -556,6 +753,9 @@ ltq_etop_init(struct net_device *dev)
|
@@ -555,6 +753,9 @@ ltq_etop_init(struct net_device *dev)
|
||||||
if (err)
|
if (err)
|
||||||
goto err_hw;
|
goto err_hw;
|
||||||
ltq_etop_change_mtu(dev, 1500);
|
ltq_etop_change_mtu(dev, 1500);
|
||||||
@ -697,7 +696,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
||||||
if (!is_valid_ether_addr(mac.sa_data)) {
|
if (!is_valid_ether_addr(mac.sa_data)) {
|
||||||
@@ -573,9 +773,10 @@ ltq_etop_init(struct net_device *dev)
|
@@ -572,9 +773,10 @@ ltq_etop_init(struct net_device *dev)
|
||||||
dev->addr_assign_type = NET_ADDR_RANDOM;
|
dev->addr_assign_type = NET_ADDR_RANDOM;
|
||||||
|
|
||||||
ltq_etop_set_multicast_list(dev);
|
ltq_etop_set_multicast_list(dev);
|
||||||
@ -711,7 +710,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_netdev:
|
err_netdev:
|
||||||
@@ -595,6 +796,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
@@ -594,6 +796,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||||
err = ltq_etop_hw_init(dev);
|
err = ltq_etop_hw_init(dev);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_hw;
|
goto err_hw;
|
||||||
@ -721,7 +720,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
netif_trans_update(dev);
|
netif_trans_update(dev);
|
||||||
netif_wake_queue(dev);
|
netif_wake_queue(dev);
|
||||||
return;
|
return;
|
||||||
@@ -618,14 +822,19 @@ static const struct net_device_ops ltq_e
|
@@ -617,14 +822,19 @@ static const struct net_device_ops ltq_e
|
||||||
.ndo_tx_timeout = ltq_etop_tx_timeout,
|
.ndo_tx_timeout = ltq_etop_tx_timeout,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -745,7 +744,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
if (!res) {
|
if (!res) {
|
||||||
@@ -651,31 +860,64 @@ ltq_etop_probe(struct platform_device *p
|
@@ -650,31 +860,64 @@ ltq_etop_probe(struct platform_device *p
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -825,7 +824,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
err = register_netdev(dev);
|
err = register_netdev(dev);
|
||||||
if (err)
|
if (err)
|
||||||
@@ -704,31 +946,22 @@ ltq_etop_remove(struct platform_device *
|
@@ -703,31 +946,22 @@ ltq_etop_remove(struct platform_device *
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
},
|
},
|
||||||
[PORT_NPCM] = {
|
[PORT_NPCM] = {
|
||||||
.name = "Nuvoton 16550",
|
.name = "Nuvoton 16550",
|
||||||
@@ -2718,6 +2718,11 @@ serial8250_do_set_termios(struct uart_po
|
@@ -2723,6 +2723,11 @@ serial8250_do_set_termios(struct uart_po
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned int baud, quot, frac = 0;
|
unsigned int baud, quot, frac = 0;
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||||||
|
|
||||||
--- a/drivers/mmc/host/Kconfig
|
--- a/drivers/mmc/host/Kconfig
|
||||||
+++ b/drivers/mmc/host/Kconfig
|
+++ b/drivers/mmc/host/Kconfig
|
||||||
@@ -1101,3 +1101,5 @@ config MMC_OWL
|
@@ -1102,3 +1102,5 @@ config MMC_OWL
|
||||||
|
|
||||||
config MMC_SDHCI_EXTERNAL_DMA
|
config MMC_SDHCI_EXTERNAL_DMA
|
||||||
bool
|
bool
|
||||||
|
Loading…
Reference in New Issue
Block a user