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/usbdr... ============================================================================== --- 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/usbdr... ============================================================================== --- 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/usbdr... ============================================================================== --- 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; }