navman.c (05c7cd39907184328f48d3e7899f9cdd653ad336) | navman.c (2e124b4a390ca85325fae75764bef92f0547fa25) |
---|---|
1/* 2 * Navman Serial USB driver 3 * 4 * Copyright (C) 2006 Greg Kroah-Hartman <gregkh@suse.de> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. --- 18 unchanged lines hidden (view full) --- 27 { }, 28}; 29MODULE_DEVICE_TABLE(usb, id_table); 30 31static void navman_read_int_callback(struct urb *urb) 32{ 33 struct usb_serial_port *port = urb->context; 34 unsigned char *data = urb->transfer_buffer; | 1/* 2 * Navman Serial USB driver 3 * 4 * Copyright (C) 2006 Greg Kroah-Hartman <gregkh@suse.de> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. --- 18 unchanged lines hidden (view full) --- 27 { }, 28}; 29MODULE_DEVICE_TABLE(usb, id_table); 30 31static void navman_read_int_callback(struct urb *urb) 32{ 33 struct usb_serial_port *port = urb->context; 34 unsigned char *data = urb->transfer_buffer; |
35 struct tty_struct *tty; | |
36 int status = urb->status; 37 int result; 38 39 switch (status) { 40 case 0: 41 /* success */ 42 break; 43 case -ECONNRESET: --- 6 unchanged lines hidden (view full) --- 50 default: 51 dev_dbg(&port->dev, "%s - nonzero urb status received: %d\n", 52 __func__, status); 53 goto exit; 54 } 55 56 usb_serial_debug_data(&port->dev, __func__, urb->actual_length, data); 57 | 35 int status = urb->status; 36 int result; 37 38 switch (status) { 39 case 0: 40 /* success */ 41 break; 42 case -ECONNRESET: --- 6 unchanged lines hidden (view full) --- 49 default: 50 dev_dbg(&port->dev, "%s - nonzero urb status received: %d\n", 51 __func__, status); 52 goto exit; 53 } 54 55 usb_serial_debug_data(&port->dev, __func__, urb->actual_length, data); 56 |
58 tty = tty_port_tty_get(&port->port); 59 if (tty && urb->actual_length) { | 57 if (urb->actual_length) { |
60 tty_insert_flip_string(&port->port, data, urb->actual_length); | 58 tty_insert_flip_string(&port->port, data, urb->actual_length); |
61 tty_flip_buffer_push(tty); | 59 tty_flip_buffer_push(&port->port); |
62 } | 60 } |
63 tty_kref_put(tty); | |
64 65exit: 66 result = usb_submit_urb(urb, GFP_ATOMIC); 67 if (result) 68 dev_err(&urb->dev->dev, 69 "%s - Error %d submitting interrupt urb\n", 70 __func__, result); 71} --- 51 unchanged lines hidden --- | 61 62exit: 63 result = usb_submit_urb(urb, GFP_ATOMIC); 64 if (result) 65 dev_err(&urb->dev->dev, 66 "%s - Error %d submitting interrupt urb\n", 67 __func__, result); 68} --- 51 unchanged lines hidden --- |