aboutsummaryrefslogtreecommitdiffstats
path: root/usb/usb-serial-eliminate-useless-code.patch
diff options
Diffstat (limited to 'usb/usb-serial-eliminate-useless-code.patch')
-rw-r--r--usb/usb-serial-eliminate-useless-code.patch60
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;