]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
o change a lock model based on HAL preemption lock to a normal mtx.
authorWeongyo Jeong <weongyo@FreeBSD.org>
Thu, 12 Mar 2009 02:51:55 +0000 (02:51 +0000)
committerWeongyo Jeong <weongyo@FreeBSD.org>
Thu, 12 Mar 2009 02:51:55 +0000 (02:51 +0000)
commit2c964f43b6942c615de5527ab0203b8057d4f0ef
tree9c2dded23354b57a889167db21eb33a953362afe
parent46364b29a8e5aa56c15e39469ce4b87957ae4bb4
o change a lock model based on HAL preemption lock to a normal mtx.
  Based on the HAL preemption lock there is a problem on SMP machines
  and causes a panic.
o When a device detached the current tactic to detach NDIS USB driver is
  to call SURPRISE_REMOVED event.  So it don't need to call
  ndis_halt_nic() again.  This fixes some page faults when some drivers
  work abnormal.
o it assumes now that URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER is in
  DISPATCH_LEVEL (non-sleepable) and as further work
  URB_FUNCTION_VENDOR_XXX and URB_FUNCTION_CLASS_XXX should be.

Reviewed by: Hans Petter Selasky <hselasky_at_freebsd.org>
Tested by: Paul B. Mahol <onemda_at_gmail.com>
sys/compat/ndis/hal_var.h
sys/compat/ndis/subr_hal.c
sys/compat/ndis/subr_usbd.c
sys/dev/if_ndis/if_ndis.c
sys/dev/if_ndis/if_ndis_usb.c
sys/dev/if_ndis/if_ndisvar.h