Author: mjmartin
Date: Tue Oct 20 11:17:09 2009
New Revision: 43639
URL:
http://svn.reactos.org/svn/reactos?rev=43639&view=rev
Log:
ehci_alloc, ohci_alloc, uhci_alloc: Initialize DPC before connecting interrupt as the
driver has to already be prepared to handle interrupts when calling IoConnectInterrupt.
Modified:
trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c
trunk/reactos/drivers/usb/nt4compat/usbdriver/ohci.c
trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c
Modified: trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/nt4compat/usbd…
==============================================================================
--- trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/nt4compat/usbdriver/ehci.c [iso-8859-1] Tue Oct 20 11:17:09
2009
@@ -3682,6 +3682,8 @@
pdev_ext->res_interrupt.level,
pdev_ext->res_interrupt.vector, &irql,
&affinity);
+ KeInitializeDpc(&pdev_ext->ehci_dpc, ehci_dpc_callback, (PVOID)
pdev_ext->ehci);
+
//connect the interrupt
DbgPrint("ehci_alloc(): the int=0x%x\n", vector);
if (IoConnectInterrupt(&pdev_ext->ehci_int, ehci_isr, pdev_ext->ehci, NULL,
//&pdev_ext->ehci->frame_list_lock,
@@ -3692,8 +3694,6 @@
ehci_release(pdev);
return NULL;
}
-
- KeInitializeDpc(&pdev_ext->ehci_dpc, ehci_dpc_callback, (PVOID)
pdev_ext->ehci);
return pdev;
}
Modified: trunk/reactos/drivers/usb/nt4compat/usbdriver/ohci.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/nt4compat/usbd…
==============================================================================
--- trunk/reactos/drivers/usb/nt4compat/usbdriver/ohci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/nt4compat/usbdriver/ohci.c [iso-8859-1] Tue Oct 20 11:17:09
2009
@@ -479,6 +479,8 @@
pdev_ext->res_interrupt.level,
pdev_ext->res_interrupt.vector, &irql,
&affinity);
+ KeInitializeDpc(&pdev_ext->ehci_dpc, ehci_dpc_callback, (PVOID)
pdev_ext->ehci);
+
//connect the interrupt
DbgPrint("ehci_alloc(): the int=0x%x\n", vector);
if ((status = IoConnectInterrupt(&pdev_ext->ehci_int, ehci_isr,
pdev_ext->ehci, NULL, //&pdev_ext->ehci->frame_list_lock,
@@ -490,8 +492,6 @@
ehci_release(pdev);
return NULL;
}
-
- KeInitializeDpc(&pdev_ext->ehci_dpc, ehci_dpc_callback, (PVOID)
pdev_ext->ehci);
#endif
return pdev;
Modified: trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/usb/nt4compat/usbd…
==============================================================================
--- trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/usb/nt4compat/usbdriver/uhci.c [iso-8859-1] Tue Oct 20 11:17:09
2009
@@ -840,6 +840,8 @@
&irql,
&affinity);
+ KeInitializeDpc(&pdev_ext->uhci_dpc, uhci_dpc_callback, (PVOID)
pdev_ext->uhci);
+
//connect the interrupt
DbgPrint("uhci_alloc(): the int=0x%x\n", vector);
if (IoConnectInterrupt(&pdev_ext->uhci_int,
@@ -858,8 +860,6 @@
uhci_release(pdev);
return NULL;
}
-
- KeInitializeDpc(&pdev_ext->uhci_dpc, uhci_dpc_callback, (PVOID)
pdev_ext->uhci);
return pdev;
}