USB: serial: Eliminate useless code
authorJulia Lawall <julia@diku.dk>
Sat, 16 Jan 2010 15:59:51 +0000 (16:59 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:54:34 +0000 (14:54 -0800)
The variables priv and portdata are initialized twice to the same (side
effect-free) expressions.  Drop one initialization in each case.

A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)

// <smpl>
@forall@
idexpression *x;
identifier f!=ERR_PTR;
@@

x = f(...)
... when != x
(
x = f(...,<+...x...+>,...)
|
* x = f(...)
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/cypress_m8.c
drivers/usb/serial/sierra.c

index eee8726..c349f79 100644 (file)
@@ -691,7 +691,6 @@ static void cypress_dtr_rts(struct usb_serial_port *port, int on)
 {
        struct cypress_private *priv = usb_get_serial_port_data(port);
        /* drop dtr and rts */
-       priv = usb_get_serial_port_data(port);
        spin_lock_irq(&priv->lock);
        if (on == 0)
                priv->line_control = 0;
index ea27f7d..bb0d56c 100644 (file)
@@ -477,7 +477,7 @@ static void sierra_outdat_callback(struct urb *urb)
 static int sierra_write(struct tty_struct *tty, struct usb_serial_port *port,
                                        const unsigned char *buf, int count)
 {
-       struct sierra_port_private *portdata = usb_get_serial_port_data(port);
+       struct sierra_port_private *portdata;
        struct sierra_intf_private *intfdata;
        struct usb_serial *serial = port->serial;
        unsigned long flags;