aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/aircable.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 19:46:58 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 19:46:58 -0400
commit9374430a52dfae5c013b88f7f030c04a6774d410 (patch)
treece1ee8eee4e79fbb9486e810278d1092afc74a44 /drivers/usb/serial/aircable.c
parent66f49739fe1591197364f2dad1b67b975e8f5e85 (diff)
parent13f9966b3ba5b45f47f2ea0eb0a90afceedfbb1f (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits) USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc USB: additions to the quirk list usb-storage: implement autosuspend USB: cdc-acm: add new device id to option driver USB: goku_udc trivial cleanups USB: usb gadget stack can now -DDEBUG with Kconfig usb gadget stack: remove usb_ep_*_buffer(), part 2 usb gadget stack: remove usb_ep_*_buffer(), part 1 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks USB: pxa2xx_udc: use generic gpio layer USB: quirk for samsung printer USB: usb/dma doc updates USB: drivers/usb/storage/unusual_devs.h whitespace cleanup USB: remove Makefile reference to obsolete OHCI_AT91 USB: io_*: remove bogus termios no change checks USB: mos7720: remove bogus no termios change check USB: visor and whiteheat: remove bogus termios change checks USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() USB: mos7840.c: turn this into a serial driver USB: make the usb_device numa_node get assigned from controller ...
Diffstat (limited to 'drivers/usb/serial/aircable.c')
-rw-r--r--drivers/usb/serial/aircable.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/usb/serial/aircable.c b/drivers/usb/serial/aircable.c
index fbc8c27d5d99..1cd29cd6bd00 100644
--- a/drivers/usb/serial/aircable.c
+++ b/drivers/usb/serial/aircable.c
@@ -411,12 +411,13 @@ static int aircable_write(struct usb_serial_port *port,
411static void aircable_write_bulk_callback(struct urb *urb) 411static void aircable_write_bulk_callback(struct urb *urb)
412{ 412{
413 struct usb_serial_port *port = urb->context; 413 struct usb_serial_port *port = urb->context;
414 int status = urb->status;
414 int result; 415 int result;
415 416
416 dbg("%s - urb->status: %d", __FUNCTION__ , urb->status); 417 dbg("%s - urb status: %d", __FUNCTION__ , status);
417 418
418 /* This has been taken from cypress_m8.c cypress_write_int_callback */ 419 /* This has been taken from cypress_m8.c cypress_write_int_callback */
419 switch (urb->status) { 420 switch (status) {
420 case 0: 421 case 0:
421 /* success */ 422 /* success */
422 break; 423 break;
@@ -425,14 +426,14 @@ static void aircable_write_bulk_callback(struct urb *urb)
425 case -ESHUTDOWN: 426 case -ESHUTDOWN:
426 /* this urb is terminated, clean up */ 427 /* this urb is terminated, clean up */
427 dbg("%s - urb shutting down with status: %d", 428 dbg("%s - urb shutting down with status: %d",
428 __FUNCTION__, urb->status); 429 __FUNCTION__, status);
429 port->write_urb_busy = 0; 430 port->write_urb_busy = 0;
430 return; 431 return;
431 default: 432 default:
432 /* error in the urb, so we have to resubmit it */ 433 /* error in the urb, so we have to resubmit it */
433 dbg("%s - Overflow in write", __FUNCTION__); 434 dbg("%s - Overflow in write", __FUNCTION__);
434 dbg("%s - nonzero write bulk status received: %d", 435 dbg("%s - nonzero write bulk status received: %d",
435 __FUNCTION__, urb->status); 436 __FUNCTION__, status);
436 port->write_urb->transfer_buffer_length = 1; 437 port->write_urb->transfer_buffer_length = 1;
437 port->write_urb->dev = port->serial->dev; 438 port->write_urb->dev = port->serial->dev;
438 result = usb_submit_urb(port->write_urb, GFP_ATOMIC); 439 result = usb_submit_urb(port->write_urb, GFP_ATOMIC);
@@ -457,16 +458,17 @@ static void aircable_read_bulk_callback(struct urb *urb)
457 unsigned long no_packages, remaining, package_length, i; 458 unsigned long no_packages, remaining, package_length, i;
458 int result, shift = 0; 459 int result, shift = 0;
459 unsigned char *temp; 460 unsigned char *temp;
461 int status = urb->status;
460 462
461 dbg("%s - port %d", __FUNCTION__, port->number); 463 dbg("%s - port %d", __FUNCTION__, port->number);
462 464
463 if (urb->status) { 465 if (status) {
464 dbg("%s - urb->status = %d", __FUNCTION__, urb->status); 466 dbg("%s - urb status = %d", __FUNCTION__, status);
465 if (!port->open_count) { 467 if (!port->open_count) {
466 dbg("%s - port is closed, exiting.", __FUNCTION__); 468 dbg("%s - port is closed, exiting.", __FUNCTION__);
467 return; 469 return;
468 } 470 }
469 if (urb->status == -EPROTO) { 471 if (status == -EPROTO) {
470 dbg("%s - caught -EPROTO, resubmitting the urb", 472 dbg("%s - caught -EPROTO, resubmitting the urb",
471 __FUNCTION__); 473 __FUNCTION__);
472 usb_fill_bulk_urb(port->read_urb, port->serial->dev, 474 usb_fill_bulk_urb(port->read_urb, port->serial->dev,