From f7c472bda710fdc181e2b73bebb0bc79789fdeb4 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 26 Jan 2012 03:24:47 +0000 Subject: [PATCH 1/1] [NTOSKRNL] - Add a hack so that registering an interface after a remove and reconnect works svn path=/branches/usb-bringup-trunk/; revision=55193 --- ntoskrnl/io/iomgr/deviface.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ntoskrnl/io/iomgr/deviface.c b/ntoskrnl/io/iomgr/deviface.c index 973053631d9..9b40aabb7c3 100644 --- a/ntoskrnl/io/iomgr/deviface.c +++ b/ntoskrnl/io/iomgr/deviface.c @@ -1145,7 +1145,12 @@ IoRegisterDeviceInterface(IN PDEVICE_OBJECT PhysicalDeviceObject, /* If the symbolic link already exists, return an informational success status */ if (SymLinkStatus == STATUS_OBJECT_NAME_COLLISION) + { + /* HACK: Delete the existing symbolic link and update it to the new PDO name */ + IoDeleteSymbolicLink(SymbolicLinkName); + IoCreateSymbolicLink(SymbolicLinkName, &PdoNameInfo->Name); SymLinkStatus = STATUS_OBJECT_NAME_EXISTS; + } if (!NT_SUCCESS(SymLinkStatus)) { -- 2.17.1