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:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							52167feff8
						
					
				
				
					commit
					87edb650c7
				
			| @@ -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 */ | ||||||
|   | |||||||
| @@ -740,7 +740,7 @@ SVN-Revision: 35130 | |||||||
|  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,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, |  	.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); |  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | ||||||
|  	if (!res) { |  	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; |  		goto err_out; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -822,7 +821,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> | |||||||
|   |   | ||||||
|  	err = register_netdev(dev); |  	err = register_netdev(dev); | ||||||
|  	if (err) |  	if (err) | ||||||
| @@ -704,31 +943,22 @@ ltq_etop_remove(struct platform_device * | @@ -703,31 +943,22 @@ ltq_etop_remove(struct platform_device * | ||||||
|  	return 0; |  	return 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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user