kernel/eka/drivers/usbc/d_usbc.cpp
branchRCL_3
changeset 62 4a8fed1c0ef6
parent 33 0173bcd7697c
child 81 e7d2d738d3c2
equal deleted inserted replaced
52:2d65c2f76d7b 62:4a8fed1c0ef6
   151 DLddUsbcChannel::~DLddUsbcChannel()
   151 DLddUsbcChannel::~DLddUsbcChannel()
   152 	{
   152 	{
   153 	__KTRACE_OPT(KUSB, Kern::Printf("DLddUsbcChannel::~DLddUsbcChannel()"));
   153 	__KTRACE_OPT(KUSB, Kern::Printf("DLddUsbcChannel::~DLddUsbcChannel()"));
   154 	if (iController)
   154 	if (iController)
   155 		{
   155 		{
       
   156 		iController->DeRegisterClient(this);
   156 		iStatusCallbackInfo.Cancel();
   157 		iStatusCallbackInfo.Cancel();
   157 		iEndpointStatusCallbackInfo.Cancel();
   158 		iEndpointStatusCallbackInfo.Cancel();
   158         iOtgFeatureCallbackInfo.Cancel();
   159         iOtgFeatureCallbackInfo.Cancel();
   159         iCompleteAllCallbackInfo.Cancel();
   160         iCompleteAllCallbackInfo.Cancel();
   160 		AbortInterface();
   161 		AbortInterface();
   162 		if (iOwnsDeviceControl)
   163 		if (iOwnsDeviceControl)
   163 			{
   164 			{
   164 			iController->ReleaseDeviceControl(this);
   165 			iController->ReleaseDeviceControl(this);
   165 			iOwnsDeviceControl = EFalse;
   166 			iOwnsDeviceControl = EFalse;
   166 			}
   167 			}
   167 		iController->DeRegisterClient(this);
       
   168 		DestroyEp0();
   168 		DestroyEp0();
   169 		delete iStatusFifo;
   169 		delete iStatusFifo;
   170 		Kern::DestroyClientRequest(iStatusChangeReq);
   170 		Kern::DestroyClientRequest(iStatusChangeReq);
   171 		Kern::DestroyClientRequest(iEndpointStatusChangeReq);
   171 		Kern::DestroyClientRequest(iEndpointStatusChangeReq);
   172 		Kern::DestroyClientRequest(iOtgFeatureChangeReq);
   172 		Kern::DestroyClientRequest(iOtgFeatureChangeReq);