tree 02c6eabf1a21bbbd91ed0dda7f94a67b2f096034
parent 83c67571b372c4a40023a84e183fdb7fa4e89e48
author Julia Lawall <julia@diku.dk> 1303505181 +0200
committer Greg Kroah-Hartman <gregkh@suse.de> 1304111865 -0700

drivers/tty/moxa.c: Put correct tty value

The tty value that should be put is the one that was just gotten by
tty_port_tty_get, not the one that is the argument to the enclosing
function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@exists@
local idexpression struct tty_struct *x;
expression ra,rr;
statement S1,S2;
@@

x = tty_port_tty_get(...)
... when != x = rr
    when any
    when != tty_kref_put(x,...)
    when != if (...) { ... tty_kref_put(x,...) ...}
(
if(<+...x...+>) S1 else S2
|
if(...) { ... when != x = ra
     when forall
     when != tty_kref_put(x,...)
*return...;
}
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
