tree 03ad497f92e885e63f67afe7455b29ce999492ca
parent 5f9001dc4221a3d63e2ad5f6d5aef159c2734704
author Janani Ravichandran <janani.rvchndrn@gmail.com> 1455835697 -0500
committer Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1456010758 -0800

staging: comedi: drivers: Remove unnecessary else following return

Else is unnecessary when there is a return statement in the
corresponding if block.
Coccinelle patch:

@rule1@
expression e1;
@@

	if (e1) { ... return ...; }
-       else{
	        ...
-            }

@rule2@
expression e2;
statement s1;
@@

	if(e2) { ... return ...; }
-       else
		s1

Signed-off-by: Janani Ravichandran <janani.rvchndrn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
