mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump 5.4 to 5.4.223 (#10376)
All patches automatically rebased. Signed-off-by: Liu Linhui <liulinhui36@gmail.com> Signed-off-by: Liu Linhui <liulinhui36@gmail.com>
This commit is contained in:
parent
670de0994f
commit
1c46edde16
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.4 = .222
|
||||
LINUX_KERNEL_HASH-5.4.222 = 351af7a7ee11544e605d9d97add1421576d69459762d9a704f243db7d1c0324b
|
||||
LINUX_VERSION-5.4 = .223
|
||||
LINUX_KERNEL_HASH-5.4.223 = 9ef07f12df6887f196e2e21c197f26854859e6b586aa4bfdd4798f562a717eeb
|
||||
|
@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static const char hcd_name[] = "xhci_hcd";
|
||||
|
||||
static struct hc_driver __read_mostly xhci_pci_hc_driver;
|
||||
@@ -334,6 +374,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
@@ -340,6 +380,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
/* called during probe() after chip reset completes */
|
||||
static int xhci_pci_setup(struct usb_hcd *hcd)
|
||||
{
|
||||
@@ -375,6 +1282,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
@@ -381,6 +1288,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
struct hc_driver *driver;
|
||||
struct usb_hcd *hcd;
|
||||
|
||||
@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
driver = (struct hc_driver *)id->driver_data;
|
||||
|
||||
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
|
||||
@@ -436,6 +1364,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -442,6 +1370,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
|
||||
@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
xhci = hcd_to_xhci(pci_get_drvdata(dev));
|
||||
xhci->xhc_state |= XHCI_STATE_REMOVING;
|
||||
|
||||
@@ -575,6 +1513,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
@@ -581,6 +1519,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
|
||||
usb_enable_intel_xhci_ports(pdev);
|
||||
|
||||
|
@ -706,7 +706,7 @@
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -3997,14 +3997,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -3998,14 +3998,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
@ -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;
|
||||
@@ -563,6 +760,9 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -562,6 +760,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)) {
|
||||
@@ -580,9 +780,10 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -579,9 +780,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:
|
||||
@@ -602,6 +803,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||
@@ -601,6 +803,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;
|
||||
@@ -625,14 +829,19 @@ static const struct net_device_ops ltq_e
|
||||
@@ -624,14 +829,19 @@ static const struct net_device_ops ltq_e
|
||||
.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);
|
||||
if (!res) {
|
||||
@@ -658,31 +867,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
@@ -657,31 +867,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
@ -823,7 +822,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
err = register_netdev(dev);
|
||||
if (err)
|
||||
@@ -711,31 +951,22 @@ ltq_etop_remove(struct platform_device *
|
||||
@@ -710,31 +951,22 @@ ltq_etop_remove(struct platform_device *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1419,8 +1419,7 @@ int enetc_close(struct net_device *ndev)
|
||||
@@ -1424,8 +1424,7 @@ int enetc_close(struct net_device *ndev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct tc_mqprio_qopt *mqprio = type_data;
|
||||
@@ -1428,9 +1427,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1433,9 +1432,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
u8 num_tc;
|
||||
int i;
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
|
||||
num_tc = mqprio->num_tc;
|
||||
|
||||
@@ -1475,6 +1471,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1480,6 +1476,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
|
||||
@@ -1306,8 +1311,12 @@ static void enetc_disable_interrupts(str
|
||||
@@ -1311,8 +1316,12 @@ static void enetc_disable_interrupts(str
|
||||
|
||||
static void adjust_link(struct net_device *ndev)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+ taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1516,6 +1516,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1521,6 +1521,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return enetc_setup_tc_mqprio(ndev, type_data);
|
||||
case TC_SETUP_QDISC_TAPRIO:
|
||||
return enetc_setup_tc_taprio(ndev, type_data);
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1361,6 +1361,7 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1366,6 +1366,7 @@ static int enetc_phy_connect(struct net_
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct phy_device *phydev;
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
if (!priv->phy_node)
|
||||
return 0; /* phy-less mode */
|
||||
@@ -1374,6 +1375,10 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1379,6 +1380,10 @@ static int enetc_phy_connect(struct net_
|
||||
|
||||
phy_attached_info(phydev);
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1653,7 +1653,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
@@ -1658,7 +1658,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
if (cmd == SIOCGHWTSTAMP)
|
||||
return enetc_hwtstamp_get(ndev, rq);
|
||||
#endif
|
||||
|
@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* All 3.1 IP version constants are greater than the 3.0 IP
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -3706,6 +3706,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -3710,6 +3710,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
dwc->gadget.sg_supported = true;
|
||||
dwc->gadget.name = "dwc3-gadget";
|
||||
dwc->gadget.lpm_capable = true;
|
||||
|
Loading…
Reference in New Issue
Block a user