git: USB - Preallocate umass buffers to avoid interrupt deadlock

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Sep 6 19:40:34 PDT 2009


commit b7feb10e74d528c0e7e81c343e9dd66677e6980d
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Sep 6 19:37:55 2009 -0700

    USB - Preallocate umass buffers to avoid interrupt deadlock
    
    * Try to avoid usb allocations made from the interrupt servicer.
      These can deadlock the interrupt handler and any other device
      sharing that irq as well as cause USB panics due to the broken
      critical section.
    
    * This is only a temporary fix.  Another unaddressed issue is
      contigmalloc()'s inability to allocate large physically contiguous
      buffers after the machine has been up a while.
    
    Reported-by: Rumko and multiple others over time

Summary of changes:
 sys/bus/usb/usbdi.c           |    5 ++++-
 sys/dev/usbmisc/umass/umass.c |   15 +++++++++++++++
 2 files changed, 19 insertions(+), 1 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b7feb10e74d528c0e7e81c343e9dd66677e6980d


-- 
DragonFly BSD source repository





More information about the Commits mailing list