diff -r 2d65c2f76d7b -r 4a8fed1c0ef6 kernel/eka/drivers/usbc/d_usbc.cpp --- a/kernel/eka/drivers/usbc/d_usbc.cpp Tue Feb 02 01:24:03 2010 +0200 +++ b/kernel/eka/drivers/usbc/d_usbc.cpp Sat Feb 20 00:10:51 2010 +0200 @@ -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);