Date: Mon, 2 Sep 2019 08:31:18 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r351692 - head/sys/dev/usb/net Message-ID: <201909020831.x828VI5a082946@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: hselasky Date: Mon Sep 2 08:31:18 2019 New Revision: 351692 URL: https://svnweb.freebsd.org/changeset/base/351692 Log: Fix regression issue after r351616. Make sure the mbuf queue gets initialized. Found by: gonzo@ MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/net/usb_ethernet.c Modified: head/sys/dev/usb/net/usb_ethernet.c ============================================================================== --- head/sys/dev/usb/net/usb_ethernet.c Mon Sep 2 08:20:02 2019 (r351691) +++ head/sys/dev/usb/net/usb_ethernet.c Mon Sep 2 08:31:18 2019 (r351692) @@ -219,6 +219,7 @@ ue_attach_post_task(struct usb_proc_msg *_task) ue->ue_unit = alloc_unr(ueunit); usb_callout_init_mtx(&ue->ue_watchdog, ue->ue_mtx, 0); sysctl_ctx_init(&ue->ue_sysctl_ctx); + mbufq_init(&ue->ue_rxq, 0 /* unlimited length */); error = 0; CURVNET_SET_QUIET(vnet0); @@ -284,6 +285,11 @@ ue_attach_post_task(struct usb_proc_msg *_task) fail: CURVNET_RESTORE(); + + /* drain mbuf queue */ + mbufq_drain(&ue->ue_rxq); + + /* free unit */ free_unr(ueunit, ue->ue_unit); if (ue->ue_ifp != NULL) { if_free(ue->ue_ifp); @@ -329,6 +335,9 @@ uether_ifdetach(struct usb_ether *ue) /* free sysctl */ sysctl_ctx_free(&ue->ue_sysctl_ctx); + + /* drain mbuf queue */ + mbufq_drain(&ue->ue_rxq); /* free unit */ free_unr(ueunit, ue->ue_unit);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201909020831.x828VI5a082946>