IoRegisterPlugPlayNotification: USB webcam device error on re-attach.

We have minifilter driver in which we have registered for STATIC_KSCATEGORY_VIDEO device notification using IoRegisterPlugPlayNotification.
On IRP_MN_REMOVE_DEVICE, we are detaching and deleting device object. Except for Windows8.1 (64 bit) system, everything works fine. On Windows8.1, after re-attaching webcam device not able to detect. In devmgmt, below error is shown:

“Windows cannot load the device driver for this hardware because a previous instance of the device driver is still in memory. (Code 38)
The driver could not be loaded because a previous version of the driver is still in memory.”

Logs on device removal:
DispatchPnp: Entry.
DispatchPnp: default.
DispatchPnp: Exit.
DispatchPnp: Entry.
DispatchPnp: default.
DispatchPnp: Exit.
DispatchPnp: Entry.
DispatchPnp: IRP_MN_SURPRISE_REMOVAL.
DispatchPnp: Exit.
PlugPlayCallback: Entry.
PlugPlayCallback: InterfaceClassGuid = {6994AD05-93EF-11D0-A3CC-00A0C9223196}.
PlugPlayCallback: Event = {CB3A4005-46F0-11D0-B08F-00609713053F}.
PlugPlayCallback: SymbolicLinkName =(??\USB#VID_046D&PID_082B&MI_00#6&9ddb7a8&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\GLOBAL).
PlugPlayCallback: Exit.

DispatchPnp: Entry.
DispatchPnp: IRP_MN_REMOVE_DEVICE.
IoDetachDevice(pDeviceExt->pLowerDeviceObject);
IoDeleteDevice(pDeviceObject);
DispatchPnp: Exit.

More info:
Before removing device, it is detected under Image and USB device, after re-attaching it shows above error for the USB composite device.

Kindly let me know if I have missed anything.

Thanks in the advance.