vserver 1.9.5.x5
[linux-2.6.git] / drivers / usb / serial / keyspan_pda.c
index cd441d7..eaa290b 100644 (file)
@@ -285,7 +285,7 @@ static void keyspan_pda_rx_throttle (struct usb_serial_port *port)
           upon the device too. */
 
        dbg("keyspan_pda_rx_throttle port %d", port->number);
-       usb_unlink_urb(port->interrupt_in_urb);
+       usb_kill_urb(port->interrupt_in_urb);
 }
 
 
@@ -493,7 +493,7 @@ static int keyspan_pda_ioctl(struct usb_serial_port *port, struct file *file,
        return -ENOIOCTLCMD;
 }
 
-static int keyspan_pda_write(struct usb_serial_port *port, int from_user, 
+static int keyspan_pda_write(struct usb_serial_port *port, 
                             const unsigned char *buf, int count)
 {
        struct usb_serial *serial = port->serial;
@@ -567,16 +567,7 @@ static int keyspan_pda_write(struct usb_serial_port *port, int from_user,
 
        if (count) {
                /* now transfer data */
-               if (from_user) {
-                       if( copy_from_user(port->write_urb->transfer_buffer,
-                       buf, count) ) {
-                               rc = -EFAULT;
-                               goto exit;
-                       }
-               }
-               else {
-                       memcpy (port->write_urb->transfer_buffer, buf, count);
-               }  
+               memcpy (port->write_urb->transfer_buffer, buf, count);
                /* send the data out the bulk port */
                port->write_urb->transfer_buffer_length = count;
                
@@ -706,8 +697,8 @@ static void keyspan_pda_close(struct usb_serial_port *port, struct file *filp)
                        keyspan_pda_set_modem_info(serial, 0);
 
                /* shutdown our bulk reads and writes */
-               usb_unlink_urb (port->write_urb);
-               usb_unlink_urb (port->interrupt_in_urb);
+               usb_kill_urb(port->write_urb);
+               usb_kill_urb(port->interrupt_in_urb);
        }
 }
 
@@ -722,12 +713,12 @@ static int keyspan_pda_fake_startup (struct usb_serial *serial)
        response = ezusb_set_reset(serial, 1);
 
 #ifdef KEYSPAN
-       if (serial->dev->descriptor.idVendor == KEYSPAN_VENDOR_ID)
+       if (le16_to_cpu(serial->dev->descriptor.idVendor) == KEYSPAN_VENDOR_ID)
                record = &keyspan_pda_firmware[0];
 #endif
 #ifdef XIRCOM
-       if ((serial->dev->descriptor.idVendor == XIRCOM_VENDOR_ID) ||
-           (serial->dev->descriptor.idVendor == ENTREGRA_VENDOR_ID))
+       if ((le16_to_cpu(serial->dev->descriptor.idVendor) == XIRCOM_VENDOR_ID) ||
+           (le16_to_cpu(serial->dev->descriptor.idVendor) == ENTREGRA_VENDOR_ID))
                record = &xircom_pgs_firmware[0];
 #endif
        if (record == NULL) {