The variable s is initialized twice to the same (side effect-free)
expression.  Drop one initialization.
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>
 
 static void s2250loader_disconnect(struct usb_interface *interface)
 {
-       pdevice_extension_t s = usb_get_intfdata(interface);
+       pdevice_extension_t s;
        printk(KERN_INFO "s2250: disconnect\n");
        lock_kernel();
        s = usb_get_intfdata(interface);