equal
deleted
inserted
replaced
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); |