]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorPaolo Abeni <pabeni@redhat.com>
Mon, 1 Jun 2026 11:35:51 +0000 (13:35 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Mon, 1 Jun 2026 11:42:12 +0000 (13:42 +0200)
Conflicts:

drivers/net/ethernet/microsoft/mana/mana_en.c:
  17bfe0a8c014e ("net: mana: Add NULL guards in teardown path to prevent panic on attach failure")
  d07efe5a6e641 ("net: mana: Use per-queue allocation for tx_qp to reduce allocation size")

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
1  2 
MAINTAINERS
drivers/net/ethernet/microsoft/mana/mana_en.c
net/core/skbuff.c
net/ipv6/addrconf.c
net/vmw_vsock/virtio_transport_common.c

diff --cc MAINTAINERS
Simple merge
index 82f1461a48e93896e54abe91a7960d8492df4409,c9b1df1ed1098ca7fd63f6df17c18cc8a09d14cb..db14357d3732ebc44914c9eeb0c160f5aac1fcd6
@@@ -3329,33 -3294,38 +3336,38 @@@ static int mana_dealloc_queues(struct n
         * number of queues.
         */
  
-       for (i = 0; i < apc->num_queues; i++) {
-               txq = &apc->tx_qp[i]->txq;
-               tsleep = 1000;
-               while (atomic_read(&txq->pending_sends) > 0 &&
-                      time_before(jiffies, timeout)) {
-                       usleep_range(tsleep, tsleep + 1000);
-                       tsleep <<= 1;
-               }
-               if (atomic_read(&txq->pending_sends)) {
-                       err = pcie_flr(to_pci_dev(gd->gdma_context->dev));
-                       if (err) {
-                               netdev_err(ndev, "flr failed %d with %d pkts pending in txq %u\n",
-                                          err, atomic_read(&txq->pending_sends),
-                                          txq->gdma_txq_id);
+       if (apc->tx_qp) {
+               for (i = 0; i < apc->num_queues; i++) {
 -                      txq = &apc->tx_qp[i].txq;
++                      txq = &apc->tx_qp[i]->txq;
+                       tsleep = 1000;
+                       while (atomic_read(&txq->pending_sends) > 0 &&
+                              time_before(jiffies, timeout)) {
+                               usleep_range(tsleep, tsleep + 1000);
+                               tsleep <<= 1;
+                       }
+                       if (atomic_read(&txq->pending_sends)) {
+                               err =
+                                   pcie_flr(to_pci_dev(gd->gdma_context->dev));
+                               if (err) {
+                                       netdev_err(ndev, "flr failed %d with %d pkts pending in txq %u\n",
+                                                  err,
+                                           atomic_read(&txq->pending_sends),
+                                           txq->gdma_txq_id);
+                               }
+                               break;
                        }
-                       break;
                }
-       }
  
-       for (i = 0; i < apc->num_queues; i++) {
-               txq = &apc->tx_qp[i]->txq;
-               while ((skb = skb_dequeue(&txq->pending_skbs))) {
-                       mana_unmap_skb(skb, apc);
-                       dev_kfree_skb_any(skb);
+               for (i = 0; i < apc->num_queues; i++) {
 -                      txq = &apc->tx_qp[i].txq;
++                      txq = &apc->tx_qp[i]->txq;
+                       while ((skb = skb_dequeue(&txq->pending_skbs))) {
+                               mana_unmap_skb(skb, apc);
+                               dev_kfree_skb_any(skb);
+                       }
+                       atomic_set(&txq->pending_sends, 0);
                }
-               atomic_set(&txq->pending_sends, 0);
        }
        /* We're 100% sure the queues can no longer be woken up, because
         * we're sure now mana_poll_tx_cq() can't be running.
         */
Simple merge
Simple merge