@@ -184,33 +184,56 @@ handle_control_request(genode_usb_request_handle_t handle,
184
184
struct usb_host_interface * alt =
185
185
iface ? usb_altnum_to_altsetting (iface , ctrl_value ) : NULL ;
186
186
187
- if (iface && iface -> cur_altsetting != alt )
187
+ if (iface && iface -> cur_altsetting != alt ) {
188
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
188
189
ret = usb_set_interface (udev , ctrl_index , ctrl_value );
190
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
191
+ }
189
192
190
193
send_msg = false;
191
194
}
192
195
196
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
197
+
193
198
/* check for set device configuration request */
194
199
if (ctrl_request == USB_REQ_SET_CONFIGURATION &&
195
200
ctrl_request_type == USB_RECIP_DEVICE ) {
196
201
if (!(udev -> actconfig &&
197
- udev -> actconfig -> desc .bConfigurationValue == ctrl_value ))
202
+ udev -> actconfig -> desc .bConfigurationValue == ctrl_value )) {
203
+
204
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
205
+
198
206
ret = usb_set_configuration (udev , ctrl_value );
207
+
208
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
209
+ }
199
210
send_msg = false;
200
211
}
201
212
213
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
214
+
202
215
/* otherwise send control message */
203
216
if (send_msg ) {
204
217
int pipe = (ctrl_request_type & 0x80 )
205
218
? usb_rcvctrlpipe (udev , 0 ) : usb_sndctrlpipe (udev , 0 );
206
219
220
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
221
+
207
222
usb_unlock_device (udev );
223
+
224
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
225
+
208
226
ret = usb_control_msg (udev , pipe , ctrl_request , ctrl_request_type ,
209
227
ctrl_value , ctrl_index , payload .addr ,
210
228
payload .size , ctrl_timeout );
229
+
230
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
231
+
211
232
usb_lock_device (udev );
212
233
}
213
234
235
+ printk ("%s:%u in\n" , __func__ , __LINE__ );
236
+
214
237
size = ret < 0 ? 0 : ret ;
215
238
genode_usb_ack_request (handle , handle_return_code (ret < 0 ? ret : 0 ),
216
239
& size );
0 commit comments