aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorThomas Pugliese <thomas.pugliese@gmail.com>2013-12-09 14:19:08 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-09 16:28:48 -0500
commit7b3e3740f2d0faca9351db88974be534009a3d8d (patch)
tree0ffed75bf0500ef176681a3af0999bd15747d126 /drivers/usb
parent83e83ecb79a8225e79bc8e54e9aff3e0e27658a2 (diff)
usb: wusbcore: use USB_CTRL_SET_TIMEOUT and USB_CTRL_GET_TIMEOUT
Use USB_CTRL_SET_TIMEOUT and USB_CTRL_GET_TIMEOUT for USB control messages instead of an arbitrary 1s timeout value. This is particularly useful for WUSB since in the worst case RF scanario, a WUSB device can be unresponsive for up to 4s and still be connected. Signed-off-by: Thomas Pugliese <thomas.pugliese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/hwa-hc.c20
-rw-r--r--drivers/usb/wusbcore/cbaf.c8
-rw-r--r--drivers/usb/wusbcore/security.c22
-rw-r--r--drivers/usb/wusbcore/wa-hc.h5
-rw-r--r--drivers/usb/wusbcore/wa-rpipe.c10
5 files changed, 33 insertions, 32 deletions
diff --git a/drivers/usb/host/hwa-hc.c b/drivers/usb/host/hwa-hc.c
index 7fd3f9bd7b83..f0b97bb08791 100644
--- a/drivers/usb/host/hwa-hc.c
+++ b/drivers/usb/host/hwa-hc.c
@@ -86,7 +86,7 @@ static int __hwahc_set_cluster_id(struct hwahc *hwahc, u8 cluster_id)
86 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 86 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
87 cluster_id, 87 cluster_id,
88 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 88 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
89 NULL, 0, 1000 /* FIXME: arbitrary */); 89 NULL, 0, USB_CTRL_SET_TIMEOUT);
90 if (result < 0) 90 if (result < 0)
91 dev_err(dev, "Cannot set WUSB Cluster ID to 0x%02x: %d\n", 91 dev_err(dev, "Cannot set WUSB Cluster ID to 0x%02x: %d\n",
92 cluster_id, result); 92 cluster_id, result);
@@ -106,7 +106,7 @@ static int __hwahc_op_set_num_dnts(struct wusbhc *wusbhc, u8 interval, u8 slots)
106 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 106 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
107 interval << 8 | slots, 107 interval << 8 | slots,
108 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 108 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
109 NULL, 0, 1000 /* FIXME: arbitrary */); 109 NULL, 0, USB_CTRL_SET_TIMEOUT);
110} 110}
111 111
112/* 112/*
@@ -281,7 +281,7 @@ static void __hwahc_op_wusbhc_stop(struct wusbhc *wusbhc, int delay)
281 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 281 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
282 delay * 1000, 282 delay * 1000,
283 iface_no, 283 iface_no,
284 NULL, 0, 1000 /* FIXME: arbitrary */); 284 NULL, 0, USB_CTRL_SET_TIMEOUT);
285 if (ret == 0) 285 if (ret == 0)
286 msleep(delay); 286 msleep(delay);
287 287
@@ -310,7 +310,7 @@ static int __hwahc_op_bwa_set(struct wusbhc *wusbhc, s8 stream_index,
310 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 310 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
311 stream_index, 311 stream_index,
312 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 312 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
313 NULL, 0, 1000 /* FIXME: arbitrary */); 313 NULL, 0, USB_CTRL_SET_TIMEOUT);
314 if (result < 0) { 314 if (result < 0) {
315 dev_err(dev, "Cannot set WUSB stream index: %d\n", result); 315 dev_err(dev, "Cannot set WUSB stream index: %d\n", result);
316 goto out; 316 goto out;
@@ -321,7 +321,7 @@ static int __hwahc_op_bwa_set(struct wusbhc *wusbhc, s8 stream_index,
321 WUSB_REQ_SET_WUSB_MAS, 321 WUSB_REQ_SET_WUSB_MAS,
322 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 322 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
323 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 323 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
324 mas_le, 32, 1000 /* FIXME: arbitrary */); 324 mas_le, 32, USB_CTRL_SET_TIMEOUT);
325 if (result < 0) 325 if (result < 0)
326 dev_err(dev, "Cannot set WUSB MAS allocation: %d\n", result); 326 dev_err(dev, "Cannot set WUSB MAS allocation: %d\n", result);
327out: 327out:
@@ -355,7 +355,7 @@ static int __hwahc_op_mmcie_add(struct wusbhc *wusbhc, u8 interval,
355 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 355 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
356 interval << 8 | repeat_cnt, 356 interval << 8 | repeat_cnt,
357 handle << 8 | iface_no, 357 handle << 8 | iface_no,
358 wuie, wuie->bLength, 1000 /* FIXME: arbitrary */); 358 wuie, wuie->bLength, USB_CTRL_SET_TIMEOUT);
359} 359}
360 360
361/* 361/*
@@ -372,7 +372,7 @@ static int __hwahc_op_mmcie_rm(struct wusbhc *wusbhc, u8 handle)
372 WUSB_REQ_REMOVE_MMC_IE, 372 WUSB_REQ_REMOVE_MMC_IE,
373 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 373 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
374 0, handle << 8 | iface_no, 374 0, handle << 8 | iface_no,
375 NULL, 0, 1000 /* FIXME: arbitrary */); 375 NULL, 0, USB_CTRL_SET_TIMEOUT);
376} 376}
377 377
378/* 378/*
@@ -415,7 +415,7 @@ static int __hwahc_op_dev_info_set(struct wusbhc *wusbhc,
415 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 415 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
416 0, wusb_dev->port_idx << 8 | iface_no, 416 0, wusb_dev->port_idx << 8 | iface_no,
417 dev_info, sizeof(struct hwa_dev_info), 417 dev_info, sizeof(struct hwa_dev_info),
418 1000 /* FIXME: arbitrary */); 418 USB_CTRL_SET_TIMEOUT);
419 kfree(dev_info); 419 kfree(dev_info);
420 return ret; 420 return ret;
421} 421}
@@ -455,7 +455,7 @@ static int __hwahc_dev_set_key(struct wusbhc *wusbhc, u8 port_idx, u32 tkid,
455 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 455 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
456 USB_DT_KEY << 8 | key_idx, 456 USB_DT_KEY << 8 | key_idx,
457 port_idx << 8 | iface_no, 457 port_idx << 8 | iface_no,
458 keyd, keyd_len, 1000 /* FIXME: arbitrary */); 458 keyd, keyd_len, USB_CTRL_SET_TIMEOUT);
459 459
460 kzfree(keyd); /* clear keys etc. */ 460 kzfree(keyd); /* clear keys etc. */
461 return result; 461 return result;
@@ -497,7 +497,7 @@ static int __hwahc_op_set_ptk(struct wusbhc *wusbhc, u8 port_idx, u32 tkid,
497 USB_REQ_SET_ENCRYPTION, 497 USB_REQ_SET_ENCRYPTION,
498 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 498 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
499 encryption_value, port_idx << 8 | iface_no, 499 encryption_value, port_idx << 8 | iface_no,
500 NULL, 0, 1000 /* FIXME: arbitrary */); 500 NULL, 0, USB_CTRL_SET_TIMEOUT);
501 if (result < 0) 501 if (result < 0)
502 dev_err(wusbhc->dev, "Can't set host's WUSB encryption for " 502 dev_err(wusbhc->dev, "Can't set host's WUSB encryption for "
503 "port index %u to %s (value %d): %d\n", port_idx, 503 "port index %u to %s (value %d): %d\n", port_idx,
diff --git a/drivers/usb/wusbcore/cbaf.c b/drivers/usb/wusbcore/cbaf.c
index f06ed82e63d1..56310fc9b9c3 100644
--- a/drivers/usb/wusbcore/cbaf.c
+++ b/drivers/usb/wusbcore/cbaf.c
@@ -144,7 +144,7 @@ static int cbaf_check(struct cbaf *cbaf)
144 CBAF_REQ_GET_ASSOCIATION_INFORMATION, 144 CBAF_REQ_GET_ASSOCIATION_INFORMATION,
145 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 145 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
146 0, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, 146 0, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber,
147 cbaf->buffer, cbaf->buffer_size, 1000 /* FIXME: arbitrary */); 147 cbaf->buffer, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT);
148 if (result < 0) { 148 if (result < 0) {
149 dev_err(dev, "Cannot get available association types: %d\n", 149 dev_err(dev, "Cannot get available association types: %d\n",
150 result); 150 result);
@@ -265,7 +265,7 @@ static int cbaf_send_host_info(struct cbaf *cbaf)
265 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 265 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
266 0x0101, 266 0x0101,
267 cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, 267 cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber,
268 hi, hi_size, 1000 /* FIXME: arbitrary */); 268 hi, hi_size, USB_CTRL_SET_TIMEOUT);
269} 269}
270 270
271/* 271/*
@@ -288,7 +288,7 @@ static int cbaf_cdid_get(struct cbaf *cbaf)
288 CBAF_REQ_GET_ASSOCIATION_REQUEST, 288 CBAF_REQ_GET_ASSOCIATION_REQUEST,
289 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 289 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
290 0x0200, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, 290 0x0200, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber,
291 di, cbaf->buffer_size, 1000 /* FIXME: arbitrary */); 291 di, cbaf->buffer_size, USB_CTRL_GET_TIMEOUT);
292 if (result < 0) { 292 if (result < 0) {
293 dev_err(dev, "Cannot request device information: %d\n", result); 293 dev_err(dev, "Cannot request device information: %d\n", result);
294 return result; 294 return result;
@@ -536,7 +536,7 @@ static int cbaf_cc_upload(struct cbaf *cbaf)
536 CBAF_REQ_SET_ASSOCIATION_RESPONSE, 536 CBAF_REQ_SET_ASSOCIATION_RESPONSE,
537 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 537 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
538 0x0201, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber, 538 0x0201, cbaf->usb_iface->cur_altsetting->desc.bInterfaceNumber,
539 ccd, sizeof(*ccd), 1000 /* FIXME: arbitrary */); 539 ccd, sizeof(*ccd), USB_CTRL_SET_TIMEOUT);
540 540
541 return result; 541 return result;
542} 542}
diff --git a/drivers/usb/wusbcore/security.c b/drivers/usb/wusbcore/security.c
index dd88441c8f78..66655e8f2308 100644
--- a/drivers/usb/wusbcore/security.c
+++ b/drivers/usb/wusbcore/security.c
@@ -168,7 +168,7 @@ static int wusb_dev_set_encryption(struct usb_device *usb_dev, int value)
168 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), 168 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0),
169 USB_REQ_SET_ENCRYPTION, 169 USB_REQ_SET_ENCRYPTION,
170 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, 170 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
171 value, 0, NULL, 0, 1000 /* FIXME: arbitrary */); 171 value, 0, NULL, 0, USB_CTRL_SET_TIMEOUT);
172 if (result < 0) 172 if (result < 0)
173 dev_err(dev, "Can't set device's WUSB encryption to " 173 dev_err(dev, "Can't set device's WUSB encryption to "
174 "%s (value %d): %d\n", 174 "%s (value %d): %d\n",
@@ -192,7 +192,7 @@ static int wusb_dev_set_gtk(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev)
192 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, 192 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
193 USB_DT_KEY << 8 | wusbhc->gtk_index, 0, 193 USB_DT_KEY << 8 | wusbhc->gtk_index, 0,
194 &wusbhc->gtk.descr, wusbhc->gtk.descr.bLength, 194 &wusbhc->gtk.descr, wusbhc->gtk.descr.bLength,
195 1000); 195 USB_CTRL_SET_TIMEOUT);
196} 196}
197 197
198 198
@@ -302,8 +302,9 @@ int wusb_dev_update_address(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev)
302 302
303 /* Set address 0 */ 303 /* Set address 0 */
304 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), 304 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0),
305 USB_REQ_SET_ADDRESS, 0, 305 USB_REQ_SET_ADDRESS,
306 0, 0, NULL, 0, 1000 /* FIXME: arbitrary */); 306 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
307 0, 0, NULL, 0, USB_CTRL_SET_TIMEOUT);
307 if (result < 0) { 308 if (result < 0) {
308 dev_err(dev, "auth failed: can't set address 0: %d\n", 309 dev_err(dev, "auth failed: can't set address 0: %d\n",
309 result); 310 result);
@@ -317,9 +318,10 @@ int wusb_dev_update_address(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev)
317 318
318 /* Set new (authenticated) address. */ 319 /* Set new (authenticated) address. */
319 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0), 320 result = usb_control_msg(usb_dev, usb_sndctrlpipe(usb_dev, 0),
320 USB_REQ_SET_ADDRESS, 0, 321 USB_REQ_SET_ADDRESS,
321 new_address, 0, NULL, 0, 322 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
322 1000 /* FIXME: arbitrary */); 323 new_address, 0, NULL, 0,
324 USB_CTRL_SET_TIMEOUT);
323 if (result < 0) { 325 if (result < 0) {
324 dev_err(dev, "auth failed: can't set address %u: %d\n", 326 dev_err(dev, "auth failed: can't set address %u: %d\n",
325 new_address, result); 327 new_address, result);
@@ -382,7 +384,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
382 usb_dev, usb_sndctrlpipe(usb_dev, 0), 384 usb_dev, usb_sndctrlpipe(usb_dev, 0),
383 USB_REQ_SET_HANDSHAKE, 385 USB_REQ_SET_HANDSHAKE,
384 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, 386 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
385 1, 0, &hs[0], sizeof(hs[0]), 1000 /* FIXME: arbitrary */); 387 1, 0, &hs[0], sizeof(hs[0]), USB_CTRL_SET_TIMEOUT);
386 if (result < 0) { 388 if (result < 0) {
387 dev_err(dev, "Handshake1: request failed: %d\n", result); 389 dev_err(dev, "Handshake1: request failed: %d\n", result);
388 goto error_hs1; 390 goto error_hs1;
@@ -393,7 +395,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
393 usb_dev, usb_rcvctrlpipe(usb_dev, 0), 395 usb_dev, usb_rcvctrlpipe(usb_dev, 0),
394 USB_REQ_GET_HANDSHAKE, 396 USB_REQ_GET_HANDSHAKE,
395 USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE, 397 USB_DIR_IN | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
396 2, 0, &hs[1], sizeof(hs[1]), 1000 /* FIXME: arbitrary */); 398 2, 0, &hs[1], sizeof(hs[1]), USB_CTRL_GET_TIMEOUT);
397 if (result < 0) { 399 if (result < 0) {
398 dev_err(dev, "Handshake2: request failed: %d\n", result); 400 dev_err(dev, "Handshake2: request failed: %d\n", result);
399 goto error_hs2; 401 goto error_hs2;
@@ -470,7 +472,7 @@ int wusb_dev_4way_handshake(struct wusbhc *wusbhc, struct wusb_dev *wusb_dev,
470 usb_dev, usb_sndctrlpipe(usb_dev, 0), 472 usb_dev, usb_sndctrlpipe(usb_dev, 0),
471 USB_REQ_SET_HANDSHAKE, 473 USB_REQ_SET_HANDSHAKE,
472 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE, 474 USB_DIR_OUT | USB_TYPE_STANDARD | USB_RECIP_DEVICE,
473 3, 0, &hs[2], sizeof(hs[2]), 1000 /* FIXME: arbitrary */); 475 3, 0, &hs[2], sizeof(hs[2]), USB_CTRL_SET_TIMEOUT);
474 if (result < 0) { 476 if (result < 0) {
475 dev_err(dev, "Handshake3: request failed: %d\n", result); 477 dev_err(dev, "Handshake3: request failed: %d\n", result);
476 goto error_hs3; 478 goto error_hs3;
diff --git a/drivers/usb/wusbcore/wa-hc.h b/drivers/usb/wusbcore/wa-hc.h
index 5b6ae3a4a755..b93d2cbdf33f 100644
--- a/drivers/usb/wusbcore/wa-hc.h
+++ b/drivers/usb/wusbcore/wa-hc.h
@@ -366,7 +366,7 @@ static inline int __wa_feature(struct wahc *wa, unsigned op, u16 feature)
366 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 366 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
367 feature, 367 feature,
368 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 368 wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
369 NULL, 0, 1000 /* FIXME: arbitrary */); 369 NULL, 0, USB_CTRL_SET_TIMEOUT);
370} 370}
371 371
372 372
@@ -400,8 +400,7 @@ s32 __wa_get_status(struct wahc *wa)
400 USB_REQ_GET_STATUS, 400 USB_REQ_GET_STATUS,
401 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE, 401 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_INTERFACE,
402 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber, 402 0, wa->usb_iface->cur_altsetting->desc.bInterfaceNumber,
403 &wa->status, sizeof(wa->status), 403 &wa->status, sizeof(wa->status), USB_CTRL_GET_TIMEOUT);
404 1000 /* FIXME: arbitrary */);
405 if (result >= 0) 404 if (result >= 0)
406 result = wa->status; 405 result = wa->status;
407 return result; 406 return result;
diff --git a/drivers/usb/wusbcore/wa-rpipe.c b/drivers/usb/wusbcore/wa-rpipe.c
index b48e74cc54d7..accdd15f5393 100644
--- a/drivers/usb/wusbcore/wa-rpipe.c
+++ b/drivers/usb/wusbcore/wa-rpipe.c
@@ -80,7 +80,7 @@ static int __rpipe_get_descr(struct wahc *wa,
80 USB_REQ_GET_DESCRIPTOR, 80 USB_REQ_GET_DESCRIPTOR,
81 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_RPIPE, 81 USB_DIR_IN | USB_TYPE_CLASS | USB_RECIP_RPIPE,
82 USB_DT_RPIPE<<8, index, descr, sizeof(*descr), 82 USB_DT_RPIPE<<8, index, descr, sizeof(*descr),
83 1000 /* FIXME: arbitrary */); 83 USB_CTRL_GET_TIMEOUT);
84 if (result < 0) { 84 if (result < 0) {
85 dev_err(dev, "rpipe %u: get descriptor failed: %d\n", 85 dev_err(dev, "rpipe %u: get descriptor failed: %d\n",
86 index, (int)result); 86 index, (int)result);
@@ -118,7 +118,7 @@ static int __rpipe_set_descr(struct wahc *wa,
118 USB_REQ_SET_DESCRIPTOR, 118 USB_REQ_SET_DESCRIPTOR,
119 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, 119 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE,
120 USB_DT_RPIPE<<8, index, descr, sizeof(*descr), 120 USB_DT_RPIPE<<8, index, descr, sizeof(*descr),
121 HZ / 10); 121 USB_CTRL_SET_TIMEOUT);
122 if (result < 0) { 122 if (result < 0) {
123 dev_err(dev, "rpipe %u: set descriptor failed: %d\n", 123 dev_err(dev, "rpipe %u: set descriptor failed: %d\n",
124 index, (int)result); 124 index, (int)result);
@@ -237,7 +237,7 @@ static int __rpipe_reset(struct wahc *wa, unsigned index)
237 wa->usb_dev, usb_sndctrlpipe(wa->usb_dev, 0), 237 wa->usb_dev, usb_sndctrlpipe(wa->usb_dev, 0),
238 USB_REQ_RPIPE_RESET, 238 USB_REQ_RPIPE_RESET,
239 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, 239 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE,
240 0, index, NULL, 0, 1000 /* FIXME: arbitrary */); 240 0, index, NULL, 0, USB_CTRL_SET_TIMEOUT);
241 if (result < 0) 241 if (result < 0)
242 dev_err(dev, "rpipe %u: reset failed: %d\n", 242 dev_err(dev, "rpipe %u: reset failed: %d\n",
243 index, result); 243 index, result);
@@ -527,7 +527,7 @@ void rpipe_ep_disable(struct wahc *wa, struct usb_host_endpoint *ep)
527 wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0), 527 wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0),
528 USB_REQ_RPIPE_ABORT, 528 USB_REQ_RPIPE_ABORT,
529 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, 529 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE,
530 0, index, NULL, 0, 1000 /* FIXME: arbitrary */); 530 0, index, NULL, 0, USB_CTRL_SET_TIMEOUT);
531 rpipe_put(rpipe); 531 rpipe_put(rpipe);
532 } 532 }
533 mutex_unlock(&wa->rpipe_mutex); 533 mutex_unlock(&wa->rpipe_mutex);
@@ -548,7 +548,7 @@ void rpipe_clear_feature_stalled(struct wahc *wa, struct usb_host_endpoint *ep)
548 wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0), 548 wa->usb_dev, usb_rcvctrlpipe(wa->usb_dev, 0),
549 USB_REQ_CLEAR_FEATURE, 549 USB_REQ_CLEAR_FEATURE,
550 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE, 550 USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_RPIPE,
551 RPIPE_STALL, index, NULL, 0, 1000); 551 RPIPE_STALL, index, NULL, 0, USB_CTRL_SET_TIMEOUT);
552 } 552 }
553 mutex_unlock(&wa->rpipe_mutex); 553 mutex_unlock(&wa->rpipe_mutex);
554} 554}