summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-02-27 12:11:43 +0000
committerhselasky <hselasky@FreeBSD.org>2014-02-27 12:11:43 +0000
commit3e00ce691ae61b817d24139683a8604bf8e2f1e2 (patch)
tree4eaa9eafc1da662de5ae57ef83d1ee7b8478327d /sys/dev
parent252788294bbc3b1d57024d42e76e35fe9424803f (diff)
downloadFreeBSD-src-3e00ce691ae61b817d24139683a8604bf8e2f1e2.zip
FreeBSD-src-3e00ce691ae61b817d24139683a8604bf8e2f1e2.tar.gz
Clear the knote list before destroying it.
Add seldrain() to wakeup any pollers. Submitted by: Kohji Okuno <okuno.kohji@jp.panasonic.com> MFC after: 2 weeks
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/usb_dev.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_dev.c b/sys/dev/usb/usb_dev.c
index b77fba0..c81b942 100644
--- a/sys/dev/usb/usb_dev.c
+++ b/sys/dev/usb/usb_dev.c
@@ -622,6 +622,8 @@ usb_fifo_free(struct usb_fifo *f)
cv_destroy(&f->cv_io);
cv_destroy(&f->cv_drain);
+ knlist_clear(&f->selinfo.si_note, 0);
+ seldrain(&f->selinfo);
knlist_destroy(&f->selinfo.si_note);
free(f, M_USBDEV);
OpenPOWER on IntegriCloud