Author: vmikayelyan
Date: Fri Aug 19 16:56:35 2016
New Revision: 72393
URL:
http://svn.reactos.org/svn/reactos?rev=72393&view=rev
Log:
usb: hub: PDO: InternalDeviceControl can be called in DPC
As InternalDeviceControl can be called in DPC, we should avoid scanning
of parent's child list because it uses guarded mutex for
synchronization. So here we just adding new checking for safety and
removing isValidPDO() call.
Modified:
branches/GSoC_2016/USB/drivers/usb/usbhub/pdo.c
Modified: branches/GSoC_2016/USB/drivers/usb/usbhub/pdo.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/USB/drivers/usb/usbhu…
==============================================================================
--- branches/GSoC_2016/USB/drivers/usb/usbhub/pdo.c [iso-8859-1] (original)
+++ branches/GSoC_2016/USB/drivers/usb/usbhub/pdo.c [iso-8859-1] Fri Aug 19 16:56:35 2016
@@ -210,7 +210,7 @@
if (ChildDeviceExtension->Common.PnPState == SurpriseRemovePending ||
ChildDeviceExtension->Common.PnPState == RemovePending ||
- !IsValidPDO(DeviceObject))
+ ChildDeviceExtension->ParentDeviceObject == NULL)
{
// Parent or child device was surprise removed.
DPRINT1("[USBHUB] Request for removed device object %p\n",
DeviceObject);