From b44cd51e3e381abf26b5d7b61da3ce99672620a3 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 2 May 2002 22:47:37 +0000 Subject: MFNetBSD: revision 1.94 date: 2001/12/30 20:26:59; author: augustss; state: Exp; lines: +5 -2 Make sure we don't have any pending softintrs when entering polling mode. Thanks to Darrin for finding and fixing this problem when using USB keyboards in DDB. --- sys/dev/usb/usbdi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'sys/dev/usb/usbdi.c') diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c index ce17751..ca39ea3 100644 --- a/sys/dev/usb/usbdi.c +++ b/sys/dev/usb/usbdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: usbdi.c,v 1.93 2001/12/24 21:36:15 augustss Exp $ */ +/* $NetBSD: usbdi.c,v 1.94 2001/12/30 20:26:59 augustss Exp $ */ /* $FreeBSD$ */ /* @@ -1086,6 +1086,9 @@ usbd_set_polling(usbd_device_handle dev, int on) dev->bus->use_polling++; else dev->bus->use_polling--; + /* When polling we need to make sure there is nothing pending to do. */ + if (dev->bus->use_polling) + dev->bus->methods->soft_intr(dev->bus); } -- cgit v1.1