--- gregkh-2.6.orig/drivers/usb/serial/anydata.c
+++ gregkh-2.6/drivers/usb/serial/anydata.c
@@ -71,7 +71,7 @@ static int anydata_open(struct usb_seria
 				  	  port->bulk_in_endpointAddress),
 			  port->read_urb->transfer_buffer,
 			  port->read_urb->transfer_buffer_length,
-			  usb_serial_generic_write_bulk_callback, port);
+			  usb_serial_generic_read_bulk_callback, port);
 	result = usb_submit_urb(port->read_urb, GFP_KERNEL);
 	if (result)
 		dev_err(&port->dev,
--- gregkh-2.6.orig/drivers/usb/serial/generic.c
+++ gregkh-2.6/drivers/usb/serial/generic.c
@@ -285,6 +285,7 @@ void usb_serial_generic_read_bulk_callba
 	if (result)
 		dev_err(&port->dev, "%s - failed resubmitting read urb, error %d\n", __FUNCTION__, result);
 }
+EXPORT_SYMBOL_GPL(usb_serial_generic_read_bulk_callback);
 
 void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs)
 {
