Source-Changes-HG archive

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

[src/trunk]: src/sys/dev/usb Make sure we don't have any pending softintrs wh...



details:   https://anonhg.NetBSD.org/src/rev/9745f05fd350
branches:  trunk
changeset: 519929:9745f05fd350
user:      augustss <augustss%NetBSD.org@localhost>
date:      Sun Dec 30 20:26:59 2001 +0000

description:
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.

diffstat:

 sys/dev/usb/usbdi.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r 65dd9db6974a -r 9745f05fd350 sys/dev/usb/usbdi.c
--- a/sys/dev/usb/usbdi.c       Sun Dec 30 19:37:43 2001 +0000
+++ b/sys/dev/usb/usbdi.c       Sun Dec 30 20:26:59 2001 +0000
@@ -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: src/sys/dev/usb/usbdi.c,v 1.28 1999/11/17 22:33:49 n_hibma Exp $      */
 
 /*
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.93 2001/12/24 21:36:15 augustss Exp $");
+__KERNEL_RCSID(0, "$NetBSD: usbdi.c,v 1.94 2001/12/30 20:26:59 augustss Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1088,6 +1088,9 @@
                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);
 }
 
 



Home | Main Index | Thread Index | Old Index