Hi,

Here's a patch against 2.4.10 that fixes a few potential bugs in some of
the usb-serial drivers.  Thanks to Randy Dunlap for pointing these out
to me.

thanks,

greg k-h
(temporary USB maintainer)


diff -Nru a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c
--- a/drivers/usb/serial/belkin_sa.c    Wed Sep 26 10:52:01 2001
+++ b/drivers/usb/serial/belkin_sa.c    Wed Sep 26 10:52:01 2001
@@ -345,7 +345,7 @@
 static void belkin_sa_read_int_callback (struct urb *urb)
 {
        struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
-       struct belkin_sa_private *priv = (struct belkin_sa_private *)port->private;
+       struct belkin_sa_private *priv;
        struct usb_serial *serial;
        unsigned char *data = urb->transfer_buffer;
 
@@ -353,16 +353,17 @@
        if (urb->status)
                return;
        
-       if (port_paranoia_check (port, "belkin_sa_read_interrupt")) return;
+       if (port_paranoia_check (port, __FUNCTION__)) return;
 
        serial = port->serial;
-       if (serial_paranoia_check (serial, "belkin_sa_read_interrupt")) return;
+       if (serial_paranoia_check (serial, __FUNCTION__)) return;
        
        usb_serial_debug_data (__FILE__, __FUNCTION__, urb->actual_length, data);
 
        /* Handle known interrupt data */
        /* ignore data[0] and data[1] */
 
+       priv = (struct belkin_sa_private *)port->private;
        priv->last_msr = data[BELKIN_SA_MSR_INDEX];
        
        /* Record Control Line states */
diff -Nru a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c
--- a/drivers/usb/serial/cyberjack.c    Wed Sep 26 10:52:01 2001
+++ b/drivers/usb/serial/cyberjack.c    Wed Sep 26 10:52:01 2001
@@ -309,16 +309,16 @@
        struct usb_serial *serial;
        unsigned char *data = urb->transfer_buffer;
 
+       if (port_paranoia_check (port, __FUNCTION__)) return;
+
        dbg(__FUNCTION__ " - port %d", port->number);
 
        /* the urb might have been killed. */
        if (urb->status)
                return;
 
-       if (port_paranoia_check (port, "cyberjack_read_interrupt")) return;
-
        serial = port->serial;
-       if (serial_paranoia_check (serial, "cyberjack_read_interrupt")) return;
+       if (serial_paranoia_check (serial, __FUNCTION__)) return;
 
        usb_serial_debug_data (__FILE__, __FUNCTION__, urb->actual_length, data);
 


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to