mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	kernel: bump 5.10 to 5.10.153
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 patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
		
							parent
							
								
									52167feff8
								
							
						
					
					
						commit
						87edb650c7
					
				@ -1,2 +1,2 @@
 | 
			
		||||
LINUX_VERSION-5.10 = .152
 | 
			
		||||
LINUX_KERNEL_HASH-5.10.152 = fa0b5c83a4ebfda9f0a52cc693646eb6c24dbade6c37ee2d18b66ee2df15d8a6
 | 
			
		||||
LINUX_VERSION-5.10 = .153
 | 
			
		||||
LINUX_KERNEL_HASH-5.10.153 = 3cf2e4519fe451caef0ee0a8beac694612267325f7055fc38d6a990a762f1662
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ produce a noisy warning.
 | 
			
		||||
 | 
			
		||||
--- a/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) {
 | 
			
		||||
 		xhci->quirks |= XHCI_RESET_ON_RESUME;
 | 
			
		||||
 		xhci->quirks |= XHCI_ZERO_64B_REGS;
 | 
			
		||||
@ -43,7 +43,7 @@ produce a noisy warning.
 | 
			
		||||
 		hcd->msi_enabled = 1;
 | 
			
		||||
--- a/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		usb3_rhub;
 | 
			
		||||
 	/* support xHCI 1.0 spec USB2 hardware LPM */
 | 
			
		||||
 | 
			
		||||
@ -740,7 +740,7 @@ SVN-Revision: 35130
 | 
			
		||||
 EXPORT_SYMBOL(xfrm_parse_spi);
 | 
			
		||||
--- a/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);
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -127,11 +127,11 @@ it on BCM4708 family.
 | 
			
		||||
 /*
 | 
			
		||||
--- a/drivers/usb/host/xhci.h
 | 
			
		||||
+++ b/drivers/usb/host/xhci.h
 | 
			
		||||
@@ -1889,6 +1889,7 @@ struct xhci_hcd {
 | 
			
		||||
 #define XHCI_NO_SOFT_RETRY	BIT_ULL(40)
 | 
			
		||||
@@ -1890,6 +1890,7 @@ struct xhci_hcd {
 | 
			
		||||
 #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42)
 | 
			
		||||
 #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		limit_active_eps;
 | 
			
		||||
 | 
			
		||||
@ -338,7 +338,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 	if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
 | 
			
		||||
 		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.proto = p->proto;
 | 
			
		||||
 	t->parms.fwmark = p->fwmark;
 | 
			
		||||
@ -353,7 +353,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 	dst_cache_reset(&t->dst_cache);
 | 
			
		||||
 	ip6_tnl_link_config(t);
 | 
			
		||||
 	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->link = u->link;
 | 
			
		||||
 	p->proto = u->proto;
 | 
			
		||||
@ -361,7 +361,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 	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;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@ -377,7 +377,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 static void ip6_tnl_netlink_parms(struct nlattr *data[],
 | 
			
		||||
 				  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])
 | 
			
		||||
 		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[],
 | 
			
		||||
@@ -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)
 | 
			
		||||
 {
 | 
			
		||||
@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 	return
 | 
			
		||||
 		/* IFLA_IPTUN_LINK */
 | 
			
		||||
 		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) +
 | 
			
		||||
 		/* IFLA_IPTUN_FWMARK */
 | 
			
		||||
 		nla_total_size(4) +
 | 
			
		||||
@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
 | 
			
		||||
 		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_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) ||
 | 
			
		||||
 	    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_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
 | 
			
		||||
 	    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) ||
 | 
			
		||||
 	    nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
 | 
			
		||||
 	    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_COLLECT_METADATA]	= { .type = NLA_FLAG },
 | 
			
		||||
 	[IFLA_IPTUN_FWMARK]		= { .type = NLA_U32 },
 | 
			
		||||
 | 
			
		||||
@ -625,7 +625,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 	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);
 | 
			
		||||
 	struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
 | 
			
		||||
 	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;
 | 
			
		||||
 
 | 
			
		||||
-	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)) ||
 | 
			
		||||
+			priv->txch.skb[priv->txch.dma.desc]) {
 | 
			
		||||
 		netdev_err(dev, "tx ring full\n");
 | 
			
		||||
 		netif_tx_stop_queue(txq);
 | 
			
		||||
 		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 */
 | 
			
		||||
 	byte_offset = CPHYSADDR(skb->data) % 16;
 | 
			
		||||
@ -656,7 +655,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 
 | 
			
		||||
 	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();
 | 
			
		||||
 	desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
 | 
			
		||||
 		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);
 | 
			
		||||
 
 | 
			
		||||
 	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);
 | 
			
		||||
 	unsigned long flags;
 | 
			
		||||
@ -687,7 +686,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 	spin_unlock_irqrestore(&priv->lock, flags);
 | 
			
		||||
 
 | 
			
		||||
 	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)
 | 
			
		||||
 		goto err_hw;
 | 
			
		||||
 	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));
 | 
			
		||||
 	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;
 | 
			
		||||
 
 | 
			
		||||
 	ltq_etop_set_multicast_list(dev);
 | 
			
		||||
@ -711,7 +710,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 	return 0;
 | 
			
		||||
 
 | 
			
		||||
 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);
 | 
			
		||||
 	if (err)
 | 
			
		||||
 		goto err_hw;
 | 
			
		||||
@ -721,7 +720,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 	netif_trans_update(dev);
 | 
			
		||||
 	netif_wake_queue(dev);
 | 
			
		||||
 	return;
 | 
			
		||||
@@ -618,14 +822,18 @@ static const struct net_device_ops ltq_e
 | 
			
		||||
@@ -617,14 +822,18 @@ static const struct net_device_ops ltq_e
 | 
			
		||||
 	.ndo_tx_timeout = ltq_etop_tx_timeout,
 | 
			
		||||
 };
 | 
			
		||||
 
 | 
			
		||||
@ -744,7 +743,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 
 | 
			
		||||
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 | 
			
		||||
 	if (!res) {
 | 
			
		||||
@@ -651,31 +859,62 @@ ltq_etop_probe(struct platform_device *p
 | 
			
		||||
@@ -650,31 +859,62 @@ ltq_etop_probe(struct platform_device *p
 | 
			
		||||
 		goto err_out;
 | 
			
		||||
 	}
 | 
			
		||||
 
 | 
			
		||||
@ -822,7 +821,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 
 | 
			
		||||
 	err = register_netdev(dev);
 | 
			
		||||
 	if (err)
 | 
			
		||||
@@ -704,31 +943,22 @@ ltq_etop_remove(struct platform_device *
 | 
			
		||||
@@ -703,31 +943,22 @@ ltq_etop_remove(struct platform_device *
 | 
			
		||||
 	return 0;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 | 
			
		||||
 | 
			
		||||
--- a/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
 | 
			
		||||
 	bool
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user