Author: weongyo
Date: Tue Mar 17 05:57:43 2009
New Revision: 189917
URL: http://svn.freebsd.org/changeset/base/189917

Log:
  grab NDIS USB lock instead of HAL preemption.  This change should be
  happened in the previous.

Modified:
  head/sys/compat/ndis/subr_usbd.c

Modified: head/sys/compat/ndis/subr_usbd.c
==============================================================================
--- head/sys/compat/ndis/subr_usbd.c    Tue Mar 17 05:10:12 2009        
(r189916)
+++ head/sys/compat/ndis/subr_usbd.c    Tue Mar 17 05:57:43 2009        
(r189917)
@@ -707,8 +707,9 @@ usbd_irpcancel(dobj, ip)
        device_object           *dobj;
        irp                     *ip;
 {
+       device_t dev = IRP_NDIS_DEV(ip);
+       struct ndis_softc *sc = device_get_softc(dev);
        struct ndisusb_ep *ne = IRP_NDISUSB_EP(ip);
-       uint8_t irql;
 
        if (ne == NULL) {
                ip->irp_cancel = TRUE;
@@ -720,10 +721,10 @@ usbd_irpcancel(dobj, ip)
         * Make sure that the current USB transfer proxy is
         * cancelled and then restarted.
         */
-       KeRaiseIrql(DISPATCH_LEVEL, &irql);
+       NDISUSB_LOCK(sc);
        usb2_transfer_stop(ne->ne_xfer[0]);
        usb2_transfer_start(ne->ne_xfer[0]);
-       KeLowerIrql(irql);
+       NDISUSB_UNLOCK(sc);
 
        ip->irp_cancel = TRUE;
        IoReleaseCancelSpinLock(ip->irp_cancelirql);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to