diff -r 741dcdf88ba9 -r c4d65d91ad0c kernel/eka/drivers/usbc/d_usbc.cpp --- a/kernel/eka/drivers/usbc/d_usbc.cpp Mon Mar 08 11:57:08 2010 +0000 +++ b/kernel/eka/drivers/usbc/d_usbc.cpp Sun Mar 14 13:15:32 2010 +0000 @@ -153,6 +153,7 @@ __KTRACE_OPT(KUSB, Kern::Printf("DLddUsbcChannel::~DLddUsbcChannel()")); if (iController) { + iController->DeRegisterClient(this); iStatusCallbackInfo.Cancel(); iEndpointStatusCallbackInfo.Cancel(); iOtgFeatureCallbackInfo.Cancel(); @@ -164,7 +165,6 @@ iController->ReleaseDeviceControl(this); iOwnsDeviceControl = EFalse; } - iController->DeRegisterClient(this); DestroyEp0(); delete iStatusFifo; Kern::DestroyClientRequest(iStatusChangeReq);