diff options
author | John Audia <therealgraysky@proton.me> | 2022-11-03 12:07:30 -0400 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2022-11-05 16:26:38 +0100 |
commit | 1eebe72a80a5c2f1ca7d0e027a82ff67d9271a8b (patch) | |
tree | 661d4fe858a2e894cb71b8cb9b7dc9bdda7f2521 /target/linux/lantiq | |
parent | 87edb650c74a73d854bc01c0aed46d38dafb09a0 (diff) | |
download | upstream-1eebe72a80a5c2f1ca7d0e027a82ff67d9271a8b.tar.gz upstream-1eebe72a80a5c2f1ca7d0e027a82ff67d9271a8b.tar.bz2 upstream-1eebe72a80a5c2f1ca7d0e027a82ff67d9271a8b.zip |
kernel: bump 5.15 to 5.15.77
Manually rebased:
bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch
All other patches automatically rebased
Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Signed-off-by: John Audia <therealgraysky@proton.me>
Diffstat (limited to 'target/linux/lantiq')
-rw-r--r-- | target/linux/lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/target/linux/lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch b/target/linux/lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch index eb47010fa0..e9f3ee473b 100644 --- a/target/linux/lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch +++ b/target/linux/lantiq/patches-5.15/0028-NET-lantiq-various-etop-fixes.patch @@ -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; } |