diff --git a/include/kernel-5.4 b/include/kernel-5.4 index 057786836..379fa904b 100644 --- a/include/kernel-5.4 +++ b/include/kernel-5.4 @@ -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 diff --git a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 2ce7e7e30..0cb786de6 100644 --- a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul 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 /* 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 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 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); diff --git a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch index 12c23d8d1..2f40f8d16 100644 --- a/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.4/910-unaligned_access_hacks.patch @@ -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); diff --git a/target/linux/lantiq/patches-5.4/0028-NET-lantiq-various-etop-fixes.patch b/target/linux/lantiq/patches-5.4/0028-NET-lantiq-various-etop-fixes.patch index 094496a16..d809e0260 100644 --- a/target/linux/lantiq/patches-5.4/0028-NET-lantiq-various-etop-fixes.patch +++ b/target/linux/lantiq/patches-5.4/0028-NET-lantiq-various-etop-fixes.patch @@ -625,7 +625,7 @@ Signed-off-by: John Crispin 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 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 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 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 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 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 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 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 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 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; } diff --git a/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch b/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch index e516e1d5b..c67db6ad3 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0225-enetc-Configure-the-Time-Aware-Scheduler-via-tc-tapr.patch @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller 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 { 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 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; } diff --git a/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch b/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch index b2f229e00..99a69c478 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0226-enetc-update-TSN-Qbv-PSPEED-set-according-to-adjust-.patch @@ -42,7 +42,7 @@ Signed-off-by: David S. Miller } 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) { diff --git a/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch b/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch index 8b59f994b..bb4e7ebc4 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0336-enetc-add-support-Credit-Based-Shaper-CBS-for-hardwa.patch @@ -47,7 +47,7 @@ Signed-off-by: David S. Miller + 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); diff --git a/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch b/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch index f968080ab..9fba6efe8 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0342-LF-376-enetc-disable-EEE-autoneg-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu --- 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 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); diff --git a/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch b/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch index 6865f2316..2f611dec0 100644 --- a/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch +++ b/target/linux/layerscape/patches-5.4/701-net-0398-enetc-add-ioctl-support-for-PHY-related-ops.patch @@ -16,7 +16,7 @@ Signed-off-by: David S. Miller --- 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 diff --git a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch index e85d3531f..088efc612 100644 --- a/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch +++ b/target/linux/layerscape/patches-5.4/820-usb-0005-usb-dwc3-add-otg-properties-update.patch @@ -54,7 +54,7 @@ Signed-off-by: Peter Chen * 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;