I've noticed something strange in dmesg output :
drivers/usb/serial/usb-serial.c: Had to override the open usb serial operation 
with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the write usb serial operation 
with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the close usb serial operation 
with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the write_room usb serial 
operation with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the chars_in_buffer usb serial 
operation with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the read_bulk_callback usb 
serial operation with the generic one.
drivers/usb/serial/usb-serial.c: Had to override the write_bulk_callback usb 
serial operation with the generic one.
drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
usbcore: registered new driver usbserial_generic
.....
the ipaq.c module is initialized after generic behaviour is initiated.

These functions are provided by the ipaq module ipaq and thus should not be 
overriden by generic ones.

In the usbserial changelog there is mention of an old ( 2001) bug :

 * (01/10/2001) gkh
 *      Fixed bug where the generic serial adaptor grabbed _any_ device that was
 *      offered to it.


In the code itself i found this section ( line 1397)
##########################################################"
#define set_to_generic_if_null(type, function)                          \
        do {                                                            \
                if (!type->function) {                                  \
                        type->function = usb_serial_generic_##function; \
                        dbg("Had to override the " #function            \
                                 " usb serial operation with the generic 
one.");\
                        }                                               \
        } while (0)

static void fixup_generic(struct usb_serial_device_type *device)
{
        set_to_generic_if_null(device, open);
        set_to_generic_if_null(device, write);
        set_to_generic_if_null(device, close);
        set_to_generic_if_null(device, write_room);
        set_to_generic_if_null(device, chars_in_buffer);
        set_to_generic_if_null(device, read_bulk_callback);
        set_to_generic_if_null(device, write_bulk_callback);
        set_to_generic_if_null(device, shutdown);
}
##########################################################"

The fixup_generic function is called  when registering the driver

As the ipaq module provides these functions, !type->function should return 
false 
if i understand the way it should work ( which is unlikely as i've no coding 
experience)










-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Synce-devel mailing list
Synce-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synce-devel

Reply via email to