130 } |
130 } |
131 |
131 |
132 |
132 |
133 TBool DUsbClientController::IsInTheRequestList(const TUsbcRequestCallback& aCallback) |
133 TBool DUsbClientController::IsInTheRequestList(const TUsbcRequestCallback& aCallback) |
134 { |
134 { |
135 const TInt irq = NKern::DisableAllInterrupts(); |
135 const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock); |
136 TSglQueIter<TUsbcRequestCallback> iter(iEp0ReadRequestCallbacks); |
136 TSglQueIter<TUsbcRequestCallback> iter(iEp0ReadRequestCallbacks); |
137 TUsbcRequestCallback* p; |
137 TUsbcRequestCallback* p; |
138 while ((p = iter++) != NULL) |
138 while ((p = iter++) != NULL) |
139 { |
139 { |
140 if (p == &aCallback) |
140 if (p == &aCallback) |
141 { |
141 { |
142 NKern::RestoreInterrupts(irq); |
142 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
143 return ETrue; |
143 return ETrue; |
144 } |
144 } |
145 } |
145 } |
146 NKern::RestoreInterrupts(irq); |
146 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
147 return EFalse; |
147 return EFalse; |
148 } |
148 } |
149 |
149 |
150 |
150 |
151 TBool DUsbClientController::IsInTheStatusList(const TUsbcStatusCallback& aCallback) |
151 TBool DUsbClientController::IsInTheStatusList(const TUsbcStatusCallback& aCallback) |
152 { |
152 { |
153 const TInt irq = NKern::DisableAllInterrupts(); |
153 const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock); |
154 TSglQueIter<TUsbcStatusCallback> iter(iStatusCallbacks); |
154 TSglQueIter<TUsbcStatusCallback> iter(iStatusCallbacks); |
155 TUsbcStatusCallback* p; |
155 TUsbcStatusCallback* p; |
156 while ((p = iter++) != NULL) |
156 while ((p = iter++) != NULL) |
157 { |
157 { |
158 if (p == &aCallback) |
158 if (p == &aCallback) |
159 { |
159 { |
160 NKern::RestoreInterrupts(irq); |
160 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
161 return ETrue; |
161 return ETrue; |
162 } |
162 } |
163 } |
163 } |
164 NKern::RestoreInterrupts(irq); |
164 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
165 return EFalse; |
165 return EFalse; |
166 } |
166 } |
167 |
167 |
168 |
168 |
169 TBool DUsbClientController::IsInTheEpStatusList(const TUsbcEndpointStatusCallback& aCallback) |
169 TBool DUsbClientController::IsInTheEpStatusList(const TUsbcEndpointStatusCallback& aCallback) |
170 { |
170 { |
171 const TInt irq = NKern::DisableAllInterrupts(); |
171 const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock); |
172 TSglQueIter<TUsbcEndpointStatusCallback> iter(iEpStatusCallbacks); |
172 TSglQueIter<TUsbcEndpointStatusCallback> iter(iEpStatusCallbacks); |
173 TUsbcEndpointStatusCallback* p; |
173 TUsbcEndpointStatusCallback* p; |
174 while ((p = iter++) != NULL) |
174 while ((p = iter++) != NULL) |
175 { |
175 { |
176 if (p == &aCallback) |
176 if (p == &aCallback) |
177 { |
177 { |
178 NKern::RestoreInterrupts(irq); |
178 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
179 return ETrue; |
179 return ETrue; |
180 } |
180 } |
181 } |
181 } |
182 NKern::RestoreInterrupts(irq); |
182 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
183 return EFalse; |
183 return EFalse; |
184 } |
184 } |
185 |
185 |
186 |
186 |
187 TBool DUsbClientController::IsInTheOtgFeatureList(const TUsbcOtgFeatureCallback& aCallback) |
187 TBool DUsbClientController::IsInTheOtgFeatureList(const TUsbcOtgFeatureCallback& aCallback) |
188 { |
188 { |
189 const TInt irq = NKern::DisableAllInterrupts(); |
189 const TInt irq = __SPIN_LOCK_IRQSAVE(iUsbLock); |
190 TSglQueIter<TUsbcOtgFeatureCallback> iter(iOtgCallbacks); |
190 TSglQueIter<TUsbcOtgFeatureCallback> iter(iOtgCallbacks); |
191 TUsbcOtgFeatureCallback* p; |
191 TUsbcOtgFeatureCallback* p; |
192 while ((p = iter++) != NULL) |
192 while ((p = iter++) != NULL) |
193 { |
193 { |
194 if (p == &aCallback) |
194 if (p == &aCallback) |
195 { |
195 { |
196 NKern::RestoreInterrupts(irq); |
196 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
197 return ETrue; |
197 return ETrue; |
198 } |
198 } |
199 } |
199 } |
200 NKern::RestoreInterrupts(irq); |
200 __SPIN_UNLOCK_IRQRESTORE(iUsbLock, irq); |
201 return EFalse; |
201 return EFalse; |
202 } |
202 } |
203 |
203 |
204 // |
204 // |
205 // --- Misc classes --- |
205 // --- Misc classes --- |