dmascc: Return correct error codes
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Tue, 9 Feb 2016 18:42:36 +0000 (00:12 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Feb 2016 20:32:34 +0000 (15:32 -0500)
commit37ace20a3c99c54ebffb4b13671a01adb20926ca
tree61cebd374f01c3957f462ce8f5819d15849734e3
parent31d035a0d323d34acbab1b9cc250b443c5c02297
dmascc: Return correct error codes

This change has been made with the goal that kernel functions should
return something more descriptive than -1 on failure.

A variable `err` has been introduced for storing error codes.

The return value of kzalloc on failure should return a -1 and not a
-ENOMEM. This was found using Coccinelle. A simplified version of
the semantic patch used is:

//<smpl>
@@
expression *e;
identifier l1;
@@

e = kzalloc(...);
if (e == NULL) {
...
goto l1;
}
l1:
...
return -1
+ -ENOMEM
;
//</smpl

Furthermore, set `err` to -ENOMEM on failure of alloc_netdev(), and to
-ENODEV on failure of register_netdev() and probe_irq_off().

The single call site only checks that the return value is not 0,
hence no change is required at the call site.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hamradio/dmascc.c