diff -r 741dcdf88ba9 -r c4d65d91ad0c kernel/eka/drivers/usbcsc/d_usbcsc.cpp --- a/kernel/eka/drivers/usbcsc/d_usbcsc.cpp Mon Mar 08 11:57:08 2010 +0000 +++ b/kernel/eka/drivers/usbcsc/d_usbcsc.cpp Sun Mar 14 13:15:32 2010 +0000 @@ -1208,6 +1208,7 @@ __KTRACE_OPT(KUSB, Kern::Printf("DLddUsbcScChannel::~DLddUsbcScChannel()")); if (iController) { + iController->DeRegisterClient(this); iStatusCallbackInfo.Cancel(); iEndpointStatusCallbackInfo.Cancel(); iOtgFeatureCallbackInfo.Cancel(); @@ -1218,7 +1219,6 @@ iController->ReleaseDeviceControl(this); iOwnsDeviceControl = EFalse; } - iController->DeRegisterClient(this); iController=NULL; DestroyEp0(); if (iStatusFifo!=NULL)