cvs commit: src/sys/dev/pccbb pccbb.c pccbbvar.h

Warner Losh imp at FreeBSD.org
Wed Jun 11 20:37:30 PDT 2003


imp         2003/06/11 20:37:28 PDT

  FreeBSD src repository

  Modified files:
    sys/dev/pccbb        pccbb.c pccbbvar.h 
  Log:
  Make cbb interrupts MPSAFE:
  o Register ISR INTR_MPSAFE.
  o Loop on KTHREAD_DONE == 0 in the thread.
  o Safe the INTR_MPSAFE flag for client drivers (don't know if there are any
    CardBus/PCI drivers that are INTR_MPSAFE)
  o Read status after acquiring mtx_lock(Giant) rather than before so that we
    catch state changes that happen while Giant is being acquired.
  o Turn off the CD bit when we see a CD interrupt, and turn it back on after
    we've attached/detached the card.
  o On suspend, actually set the CBB_SOCKET_MASK to zero rather than oring
    in '0' to turn it off on suspend.
  o If the ISR that's registerd is MPSAFE, don't acquire Giant around call to
    client ISR.
  o Fix comments to reflect these changes.
  
  Revision  Changes    Path
  1.76      +31 -20    src/sys/dev/pccbb/pccbb.c
  1.19      +3 -2      src/sys/dev/pccbb/pccbbvar.h


More information about the cvs-src mailing list