git: USB - Formalize polling mode and fix ohci interrupt storm

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Sep 6 23:09:18 PDT 2009


commit 727afe75ef752829158e906c5b86991478fece53
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Sep 6 23:05:09 2009 -0700

    USB - Formalize polling mode and fix ohci interrupt storm
    
    * Formalize entering and leaving polling mode via usb_set_polling().
    
    * Call bus->methods->do_poll() once when leaving polling mode to
      catch-up any lost interrupts.
    
    * OHCI now acknowledges interrupts from the interrupt handler when
      it finds itself in polling mode to prevent the interrupt from
      storming.  The interrupts are recorded for later use.

Summary of changes:
 sys/bus/usb/ehci.c            |   21 +++++++++++-----
 sys/bus/usb/ohci.c            |   51 ++++++++++++++++++++++++++++++----------
 sys/bus/usb/ohcivar.h         |    1 +
 sys/bus/usb/uhci.c            |   21 +++++++++++-----
 sys/bus/usb/usb.c             |    8 +++---
 sys/bus/usb/usbdi.c           |   30 +++++++++++++++++-------
 sys/bus/usb/usbdi.h           |    2 +-
 sys/bus/usb/usbdivar.h        |    2 +-
 sys/dev/usbmisc/ukbd/ukbd.c   |    7 +++--
 sys/dev/usbmisc/umass/umass.c |    5 ++-
 10 files changed, 101 insertions(+), 47 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/727afe75ef752829158e906c5b86991478fece53


-- 
DragonFly BSD source repository





More information about the Commits mailing list