]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/sun/sunvnet.c
sunvnet: Return from vnet_napi_event() if no packets to read
[karo-tx-linux.git] / drivers / net / ethernet / sun / sunvnet.c
index e7bb63b2d5256cbae6d16cbaa2d683177af4fce6..5c5fb59adf765475e5cbfa82fa42c6145c0ebfc4 100644 (file)
@@ -627,7 +627,7 @@ static void maybe_tx_wakeup(struct vnet_port *port)
                struct vio_dring_state *dr;
 
                dr = &port->vio.drings[VIO_DRIVER_TX_RING];
-                       netif_tx_wake_queue(txq);
+               netif_tx_wake_queue(txq);
        }
        __netif_tx_unlock(txq);
 }
@@ -691,7 +691,6 @@ ldc_ctrl:
                        pkt->end_idx = -1;
                        goto napi_resume;
                }
-ldc_read:
                err = ldc_read(vio->lp, &msgbuf, sizeof(msgbuf));
                if (unlikely(err < 0)) {
                        if (err == -ECONNRESET)
@@ -722,8 +721,8 @@ napi_resume:
                                err = vnet_rx(port, &msgbuf, &npkts, budget);
                                if (npkts >= budget)
                                        break;
-                               if (npkts == 0 && err != -ECONNRESET)
-                                       goto ldc_read;
+                               if (npkts == 0)
+                                       break;
                        } else if (msgbuf.tag.stype == VIO_SUBTYPE_ACK) {
                                err = vnet_ack(port, &msgbuf);
                                if (err > 0)