• Julia Lawall's avatar
    fujitsu-laptop: fix error return code · b30bb89f
    Julia Lawall authored
    These functions mix the use of result and error.  In acpi_fujitsu_add,
    result does not seem useful; it would seem reasonable to propagate the
    return value of acpi_bus_update_power in an error case.  On the other hand,
    in the case of acpi_fujitsu_hotkey_add, there is an initialization of
    result that can lead to what looks like a failure case, but that does not
    abort the function.  The variable result is kept for this case.
    
    A simplified version of the semantic match that finds this problem is as
    follows: (http://coccinelle.lip6.fr/)
    
    // <smpl>
    (
    if@p1 (\(ret < 0\|ret != 0\))
     { ... return ret; }
    |
    ret@p1 = 0
    )
    ... when != ret = e1
        when != &ret
    *if(...)
    {
      ... when != ret = e2
          when forall
     return ret;
    }
    
    // </smpl>
    Signed-off-by: default avatarJulia Lawall <Julia.Lawall@lip6.fr>
    Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
    b30bb89f
fujitsu-laptop.c 31.3 KB