]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/eth.c
dm: eth: Provide a way for drivers to manage packet buffers
[karo-tx-uboot.git] / net / eth.c
index 13b7723bb47e545bdf480ccd65c2654f1e74ba35..05411f1cec5ee72bddd0caa0c8364146bdaa6739 100644 (file)
--- a/net/eth.c
+++ b/net/eth.c
@@ -344,7 +344,9 @@ int eth_rx(void)
                ret = eth_get_ops(current)->recv(current, &packet);
                if (ret > 0)
                        net_process_received_packet(packet, ret);
-               else
+               if (ret >= 0 && eth_get_ops(current)->free_pkt)
+                       eth_get_ops(current)->free_pkt(current, packet, ret);
+               if (ret <= 0)
                        break;
        }
        if (ret == -EAGAIN)