]> err.no Git - linux-2.6/blobdiff - drivers/usb/serial/io_edgeport.c
USB: cp2101.c: add additional device ID
[linux-2.6] / drivers / usb / serial / io_edgeport.c
index 18f74ac7656565ff1ba3607a5ce0155a08ea729f..2ecb1d2a034d0aa03dc08af168ae09a2f918efea 100644 (file)
@@ -599,10 +599,11 @@ static void edge_interrupt_callback (struct urb *urb)
        int txCredits;
        int portNumber;
        int result;
+       int status = urb->status;
 
        dbg("%s", __FUNCTION__);
 
-       switch (urb->status) {
+       switch (status) {
        case 0:
                /* success */
                break;
@@ -610,10 +611,12 @@ static void edge_interrupt_callback (struct urb *urb)
        case -ENOENT:
        case -ESHUTDOWN:
                /* this urb is terminated, clean up */
-               dbg("%s - urb shutting down with status: %d", __FUNCTION__, urb->status);
+               dbg("%s - urb shutting down with status: %d",
+                   __FUNCTION__, status);
                return;
        default:
-               dbg("%s - nonzero urb status received: %d", __FUNCTION__, urb->status);
+               dbg("%s - nonzero urb status received: %d",
+                   __FUNCTION__, status);
                goto exit;
        }
 
@@ -688,13 +691,15 @@ static void edge_bulk_in_callback (struct urb *urb)
 {
        struct edgeport_serial  *edge_serial = (struct edgeport_serial *)urb->context;
        unsigned char           *data = urb->transfer_buffer;
-       int                     status;
+       int                     retval;
        __u16                   raw_data_length;
+       int status = urb->status;
 
        dbg("%s", __FUNCTION__);
 
-       if (urb->status) {
-               dbg("%s - nonzero read bulk status received: %d", __FUNCTION__, urb->status);
+       if (status) {
+               dbg("%s - nonzero read bulk status received: %d",
+                   __FUNCTION__, status);
                edge_serial->read_in_progress = false;
                return;
        }
@@ -722,9 +727,11 @@ static void edge_bulk_in_callback (struct urb *urb)
        if (edge_serial->rxBytesAvail > 0) {
                dbg("%s - posting a read", __FUNCTION__);
                edge_serial->read_urb->dev = edge_serial->serial->dev;
-               status = usb_submit_urb(edge_serial->read_urb, GFP_ATOMIC);
-               if (status) {
-                       dev_err(&urb->dev->dev, "%s - usb_submit_urb(read bulk) failed, status = %d\n", __FUNCTION__, status);
+               retval = usb_submit_urb(edge_serial->read_urb, GFP_ATOMIC);
+               if (retval) {
+                       dev_err(&urb->dev->dev,
+                               "%s - usb_submit_urb(read bulk) failed, "
+                               "retval = %d\n", __FUNCTION__, retval);
                        edge_serial->read_in_progress = false;
                }
        } else {
@@ -744,11 +751,13 @@ static void edge_bulk_out_data_callback (struct urb *urb)
 {
        struct edgeport_port *edge_port = (struct edgeport_port *)urb->context;
        struct tty_struct *tty;
+       int status = urb->status;
 
        dbg("%s", __FUNCTION__);
 
-       if (urb->status) {
-               dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status);
+       if (status) {
+               dbg("%s - nonzero write bulk status received: %d",
+                   __FUNCTION__, status);
        }
 
        tty = edge_port->port->tty;
@@ -1504,15 +1513,6 @@ static void edge_set_termios (struct usb_serial_port *port, struct ktermios *old
        }
 
        cflag = tty->termios->c_cflag;
-       /* check that they really want us to change something */
-       if (old_termios) {
-               if (cflag == old_termios->c_cflag &&
-                   tty->termios->c_iflag == old_termios->c_iflag) {
-                       dbg("%s - nothing to change", __FUNCTION__);
-                       return;
-               }
-       }
-
        dbg("%s - clfag %08x iflag %08x", __FUNCTION__, 
            tty->termios->c_cflag, tty->termios->c_iflag);
        if (old_termios) {
@@ -2366,9 +2366,8 @@ static int send_cmd_write_baud_rate (struct edgeport_port *edge_port, int baudRa
        int status;
        unsigned char number = edge_port->port->number - edge_port->port->serial->minor;
 
-       if ((!edge_serial->is_epic) ||
-           ((edge_serial->is_epic) &&
-            (!edge_serial->epic_descriptor.Supports.IOSPSetBaudRate))) {
+       if (edge_serial->is_epic &&
+           !edge_serial->epic_descriptor.Supports.IOSPSetBaudRate) {
                dbg("SendCmdWriteBaudRate - NOT Setting baud rate for port = %d, baud = %d",
                    edge_port->port->number, baudRate);
                return 0;
@@ -2461,19 +2460,17 @@ static int send_cmd_write_uart_register (struct edgeport_port *edge_port, __u8 r
 
        dbg("%s - write to %s register 0x%02x", (regNum == MCR) ? "MCR" : "LCR", __FUNCTION__, regValue);
 
-       if ((!edge_serial->is_epic) ||
-           ((edge_serial->is_epic) &&
-            (!edge_serial->epic_descriptor.Supports.IOSPWriteMCR) &&
-            (regNum == MCR))) {
-               dbg("SendCmdWriteUartReg - Not writting to MCR Register");
+       if (edge_serial->is_epic &&
+           !edge_serial->epic_descriptor.Supports.IOSPWriteMCR &&
+           regNum == MCR) {
+               dbg("SendCmdWriteUartReg - Not writing to MCR Register");
                return 0;
        }
 
-       if ((!edge_serial->is_epic) ||
-           ((edge_serial->is_epic) &&
-            (!edge_serial->epic_descriptor.Supports.IOSPWriteLCR) &&
-            (regNum == LCR))) {
-               dbg ("SendCmdWriteUartReg - Not writting to LCR Register");
+       if (edge_serial->is_epic &&
+           !edge_serial->epic_descriptor.Supports.IOSPWriteLCR &&
+           regNum == LCR) {
+               dbg ("SendCmdWriteUartReg - Not writing to LCR Register");
                return 0;
        }
 
@@ -3046,11 +3043,11 @@ static void edge_shutdown (struct usb_serial *serial)
        }
        /* free up our endpoint stuff */
        if (edge_serial->is_epic) {
-               usb_unlink_urb(edge_serial->interrupt_read_urb);
+               usb_kill_urb(edge_serial->interrupt_read_urb);
                usb_free_urb(edge_serial->interrupt_read_urb);
                kfree(edge_serial->interrupt_in_buffer);
 
-               usb_unlink_urb(edge_serial->read_urb);
+               usb_kill_urb(edge_serial->read_urb);
                usb_free_urb(edge_serial->read_urb);
                kfree(edge_serial->bulk_in_buffer);
        }