diff options
Diffstat (limited to 'usb/usb-serial-eliminate-useless-code.patch')
| -rw-r--r-- | usb/usb-serial-eliminate-useless-code.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/usb/usb-serial-eliminate-useless-code.patch b/usb/usb-serial-eliminate-useless-code.patch new file mode 100644 index 00000000000000..72dd45c0b8bb18 --- /dev/null +++ b/usb/usb-serial-eliminate-useless-code.patch @@ -0,0 +1,60 @@ +From julia@diku.dk Wed Jan 27 14:25:05 2010 +From: Julia Lawall <julia@diku.dk> +Date: Sat, 16 Jan 2010 16:59:51 +0100 (CET) +Subject: USB: serial: Eliminate useless code +To: Lonnie Mendez <dignome@gmail.com>, Greg Kroah-Hartman <gregkh@suse.de>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org +Message-ID: <Pine.LNX.4.64.1001161659230.28745@ask.diku.dk> + + +From: Julia Lawall <julia@diku.dk> + +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 | 1 - + drivers/usb/serial/sierra.c | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/usb/serial/cypress_m8.c ++++ b/drivers/usb/serial/cypress_m8.c +@@ -691,7 +691,6 @@ static void cypress_dtr_rts(struct usb_s + { + 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; +--- a/drivers/usb/serial/sierra.c ++++ b/drivers/usb/serial/sierra.c +@@ -477,7 +477,7 @@ static void sierra_outdat_callback(struc + 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; |
