Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/dev/usb



On Tue, Dec 03, 2019 at 05:01:45AM +0000, Taylor R Campbell wrote:
> Module Name:	src
> Committed By:	riastradh
> Date:		Tue Dec  3 05:01:45 UTC 2019
> 
> Modified Files:
> 	src/sys/dev/usb: usbnet.c
> 
> Log Message:
> Fix order of nulling un->un_pri->unp_ec.ec_mii.
> 
> Can't null it until after if_detach prevents further use.
> 
> While here, fix conditionals in usbnet_tick_task to use the unp_dying
> flag, not the nullness of mii (or of ifp, which never null because
> it's an embedded member).
> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.30 -r1.31 src/sys/dev/usb/usbnet.c

This breaks urndis(4). See http://gnats.netbsd.org/54762
The following diff restores it to work.

Index: usbnet.c
===================================================================
RCS file: /cvsroot/src/sys/dev/usb/usbnet.c,v
retrieving revision 1.32
diff -u -r1.32 usbnet.c
--- usbnet.c	3 Dec 2019 05:01:58 -0000	1.32
+++ usbnet.c	14 Dec 2019 14:34:45 -0000
@@ -1197,9 +1197,11 @@
 		usbnet_watchdog(ifp);
 
 	DPRINTFN(8, "mii %jx ifp %jx", (uintptr_t)mii, (uintptr_t)ifp, 0, 0);
-	mii_tick(mii);
-	if (!unp->unp_link)
-		(*mii->mii_statchg)(ifp);
+	if (mii) {
+		mii_tick(mii);
+		if (!unp->unp_link)
+			(*mii->mii_statchg)(ifp);
+	}
 
 	/* Call driver if requested. */
 	uno_tick(un);



Home | Main Index | Thread Index | Old Index