HSI: cmt_speech: fix error return code
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 5 Apr 2015 12:06:26 +0000 (14:06 +0200)
committerSebastian Reichel <sre@kernel.org>
Sun, 5 Apr 2015 12:45:27 +0000 (14:45 +0200)
Return a negative error code on failure.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
identifier ret; expression e1,e2;
@@
(
if (\(ret < 0\|ret != 0\))
 { ... return ret; }
|
ret = 0
)
... when != ret = e1
    when != &ret
*if(...)
{
  ... when != ret = e2
      when forall
 return ret;
}
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/hsi/clients/cmt_speech.c

index e9560ef23092aad5f0dedbf134e4cfd33b313ec0..4983529a9c6c3fce2aadc353c2a9a944bb621bfe 100644 (file)
@@ -1028,6 +1028,7 @@ static int cs_hsi_start(struct cs_hsi_iface **hi, struct hsi_client *cl,
        }
        hsi_if->master = ssip_slave_get_master(cl);
        if (IS_ERR(hsi_if->master)) {
+               err = PTR_ERR(hsi_if->master);
                dev_err(&cl->device, "Could not get HSI master client\n");
                goto leave4;
        }