Module Name: src Committed By: rin Date: Sun Apr 25 05:15:20 UTC 2021
Modified Files: src/sys/dev/usb: usbnet.c Log Message: Sample # of TX packets as entropy source. For RX packets, individual drivers need to be modified. To generate a diff of this commit: cvs rdiff -u -r1.40 -r1.41 src/sys/dev/usb/usbnet.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/usb/usbnet.c diff -u src/sys/dev/usb/usbnet.c:1.40 src/sys/dev/usb/usbnet.c:1.41 --- src/sys/dev/usb/usbnet.c:1.40 Mon Mar 1 17:41:44 2021 +++ src/sys/dev/usb/usbnet.c Sun Apr 25 05:15:20 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: usbnet.c,v 1.40 2021/03/01 17:41:44 jakllsch Exp $ */ +/* $NetBSD: usbnet.c,v 1.41 2021/04/25 05:15:20 rin Exp $ */ /* * Copyright (c) 2019 Matthew R. Green @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.40 2021/03/01 17:41:44 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: usbnet.c,v 1.41 2021/04/25 05:15:20 rin Exp $"); #include <sys/param.h> #include <sys/kernel.h> @@ -478,7 +478,7 @@ usbnet_start_locked(struct ifnet *ifp) struct mbuf *m; unsigned length; bool done_transmit = false; - int idx; + int idx, count; USBNETHIST_CALLARGS("%jd: tx_cnt %jd list_cnt %jd link %jd", unp->unp_number, cd->uncd_tx_cnt, un->un_tx_list_cnt, @@ -500,6 +500,7 @@ usbnet_start_locked(struct ifnet *ifp) } idx = cd->uncd_tx_prod; + count = 0; while (cd->uncd_tx_cnt < un->un_tx_list_cnt) { IFQ_POLL(&ifp->if_snd, m); if (m == NULL) { @@ -547,6 +548,7 @@ usbnet_start_locked(struct ifnet *ifp) idx = (idx + 1) % un->un_tx_list_cnt; cd->uncd_tx_cnt++; + count++; } cd->uncd_tx_prod = idx; @@ -558,6 +560,9 @@ usbnet_start_locked(struct ifnet *ifp) */ if (done_transmit) unp->unp_timer = 5; + + if (count != 0) + rnd_add_uint32(&unp->unp_rndsrc, count); } static void