]> err.no Git - linux-2.6/blobdiff - drivers/usb/serial/ipaq.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / drivers / usb / serial / ipaq.c
index c90436ea8060209e48c0e857c174f0753e361ede..d9fb3768a2d7b1ba869e4275bcc6ec9d29d1ed2c 100644 (file)
@@ -570,7 +570,12 @@ static struct usb_serial_driver ipaq_device = {
        .description =          "PocketPC PDA",
        .usb_driver =           &ipaq_driver,
        .id_table =             ipaq_id_table,
-       .num_ports =            2,
+       /*
+        * some devices have an extra endpoint, which
+        * must be ignored as it would make the core
+        * create a second port which oopses when used
+        */
+       .num_ports =            1,
        .open =                 ipaq_open,
        .close =                ipaq_close,
        .attach =               ipaq_startup,
@@ -729,7 +734,7 @@ static void ipaq_close(struct usb_serial_port *port, struct file *filp)
 
 static void ipaq_read_bulk_callback(struct urb *urb)
 {
-       struct usb_serial_port  *port = (struct usb_serial_port *)urb->context;
+       struct usb_serial_port  *port = urb->context;
        struct tty_struct       *tty;
        unsigned char           *data = urb->transfer_buffer;
        int                     result;
@@ -869,7 +874,7 @@ static void ipaq_write_gather(struct usb_serial_port *port)
 
 static void ipaq_write_bulk_callback(struct urb *urb)
 {
-       struct usb_serial_port  *port = (struct usb_serial_port *)urb->context;
+       struct usb_serial_port  *port = urb->context;
        struct ipaq_private     *priv = usb_get_serial_port_data(port);
        unsigned long           flags;
        int                     result;