Commit Graph

752216 Commits

Author SHA1 Message Date
NeilBrown
186ae2f38a staging: lustre: remove invariant in cl_io_read_ahead()
This invariant can fail as ci_type is somtimes CIS_INIT.

According to Jinshan Xiong, or of the most recent significant
change to this code, "We should get rid of it."

So do that.

Fixes: 1e1db2a97b ("staging: lustre: clio: Revise read ahead implementation")
Cc: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: NeilBrown <neilb@suse.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:46:39 +02:00
Marc Dietrich
40fbffd9b9 staging: nvec: convert to use GPIO descriptors
Use GPIO descriptors instead of relying on the old method.

Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:38:00 +02:00
Marc Dietrich
d438179598 staging: nvec: cleanup use of dev in probe function
This cleanups the probe function a bit by using a dev variable instead
of &pdev-dev.

Signed-off-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:38:00 +02:00
Wolfram Sang
3c31e04b83 staging: nvec: simplify getting .drvdata
We should get drvdata from struct device directly. Going via
platform_device is an unneeded step back and forth.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:38:00 +02:00
Renato Soma
cc1c0eea85 staging: fbtft: Fixed lines exceeding columns limit
Fix checkpatch.pl warnings of lines exceeding 80 columns.
Break lines in order to reduce instructions lengths to less than 80 columns.

Signed-off-by: Renato Soma <renatoys08@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:16 +02:00
Linus Walleij
eec01e35e6 staging: wilc1000: Augment TODO file with GPIO work item
To make sure that this driver does not leave staging before it
is properly converted to use the new GPIO descriptor API,
augment the TODO file with this work item.

Cc: Johnny Kim <johnny.kim@microchip.com>
Cc: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
fbbd5e53f9 staging: olpc_dcon: Augment TODO file with GPIO work item
To make sure that this driver does not leave staging before it
is properly converted to use the new GPIO descriptor API,
augment the TODO file with this work item.

Cc: Andres Salomon <dilinger@queued.net>
Cc: Jens Frederich <jfrederich@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
5a3e59ce3a staging: nvec: Augment TODO file with GPIO work item
To make sure that this driver does not leave staging before it
is properly converted to use the new GPIO descriptor API,
augment the TODO file with this work item.

Cc: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
16974b92b5 staging: gpio-mt7621: Include the right header
GPIO drivers should include <linux/gpio/driver.h> only, the
<linux/gpio.h> header is deprecated.

Cc: John Crispin <john@phrozen.org>
Cc: Zhiyong Tao <zhiyong.tao@mediatek.com>
Cc: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
1bd4211548 staging: atomisp: Augment TODO file with GPIO work item
To make sure that these drivers do not leave staging before they
are properly converted to use the new GPIO descriptor API,
augment the TODO file with this work item.

Cc: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
1be5b22e1d staging: iio: Augment TODO file with GPIO work item
To make sure that these drivers do not leave staging before they
are properly converted to use the new GPIO descriptor API,
augment the TODO file with this work item.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
c4d63980f3 staging: greybus: Add TODO file with GPIO work items
To make sure that these drivers do not leave staging before they
are properly converted to use the new GPIO descriptor API, and the
GPIOLIB_IRQCHIP helper library, create the TODO file with these work
items.

Cc: Johan Hovold <johan@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
f670e481ca staging: fbtft: Add TODO file with GPIO work item
To make sure that these drivers do not leave staging before they
are properly converted to use the new GPIO descriptor API, create
the TODO file with this work item.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Noralf Tronnes <notro@tronnes.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Linus Walleij
8618b9ac46 staging: emxx_udc: Add GPIO descriptor work to TODO
To make sure this driver does not leave staging without a proper
conversion to the GPIO descriptor API, leave a note in the TODO.

Cc: Magnus Damm <damm+renesas@opensource.se>
Cc: Simon Horman <horms+renesas@verge.net.au>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:36:10 +02:00
Sergio Paracuellos
2c3f894567 staging: ks7010: init local variables when they are declared in ks7010_sdio_probe
This commit change init point of two variables to forward them to
init time. This variables are just being assigned some lines after
and it is more clear to init them when the init value is known and
in this case this is known when they are declared.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:33:24 +02:00
Sergio Paracuellos
5e8779dcdc staging: ks7010: align comments in ks_wlan_private_handler
This commit align comment inside ks_wlan_private_handler
WEXT private driver operations. This improves readability.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:33:22 +02:00
Sergio Paracuellos
91e772246e staging: ks7010: review includes of michael_mic.c file
This commit reviews includes of michael_mic.c source file
removing those which are not being used at all and
reordering the remaining ones in alphabetically order.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:10 +02:00
Sergio Paracuellos
fa3fd84618 staging: ks7010: review includes of ks7010_sdio file
This commit reviews includes of ks7010_sdio.c source
file removing those which are not being used at all.
Kernel header includes have been ordered alphabetically
also.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:10 +02:00
Sergio Paracuellos
7d9cbdc890 staging: ks7010: remove enum from ks_wlan.h header
This commit removes an enum which is in ks_wlan.h
and it is not being used at all.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:07 +02:00
Sergio Paracuellos
549f625c85 staging: ks7010: review includes of ks_wlan.h file
This commit reviews includes of ks_wlan.h header file.
It removes those which are not being used at all. It
also reorder remaining ones in alphabetical order.
The linux/module.h include file has been moved to the
correct file which is ks7010_sdio.c in order to be able
to compile the driver without problems.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
8a4e6ab3f5 staging: ks7010: review includes of ks_wlan_net.c file
This commit reviews really needed includes in ks_wlan_net.c
source file. It removes those which are not needed at all.
It also reorder the remaining ones in alphabetical order.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
6519967b95 staging: ks7010: refactor ks_wlan_set_wps_enable function
This commit refactors ks_wlan_set_wps_enable function to
improve readability handling the error first to avoid an
'else'.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
86357f794b staging: ks7010: refactor ks_wlan_set_tx_gain function
This commit refactors ks_wlan_set_rx_gain function to
improve readability:
    - error condition is handling the error to avoid an 'else'
    - ternary operator is used to clean if-else block assignment.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
6cb3e6062b staging: ks7010: refactor ks_wlan_set_rx_gain function
This commit refactors ks_wlan_set_rx_gain function to
improve readability:
    - error condition is handling the error to avoid an 'else'
    - ternary operator is used to clean if-else block assignment.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
9dbeb16aab staging: ks7010: change if-else condition assignment to use ternary operator
This commit changes an if-else block used to just assign a
variable to use a ternary operator to do the same improving
readability.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:05 +02:00
Sergio Paracuellos
6cf070d231 staging: ks7010: refactor ks_wlan_set_encode function
This commit refactors ks_wlan_set_encode function to improve
readability. It just removes level indentation in some paths
as well as removes not needed conditions paths which was
checked before. Changes are as follows:

 - (dwrq->length > MAX_KEY_SIZE) check has been moved to the top.
 - extra check about (dwrq->length > 0) inside an if block where
   that was the condition to enter inside it has been removed.
 - (dwrq->flags & IW_ENCODE_NOKEY) check has been turned to avoid
   one level indentation.
 - extra check (index >= 0) && (index < 4) has been removed. In
   the top of the file invalid index values are being checked
   so it has no sense to check that again.
 - remove commented line.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:04 +02:00
Sergio Paracuellos
fffe8becb7 staging: ks7010: remove auxiliar zeros buffer in ks_wlan_get_encode
This commit removes the local buffer zeros in ks_wlan_get_encode
function. It also refactors related conditions in order to fill
'extra' output parameter of the function. Originally this zeros
is just memset to zeros and only being used if drw->length is
truncated to zero because of priv->reg.wep_key[index].size is
greater than 16 chars. In those cases the final if statement is
just using zeros but it is using memcpy with a length of zero
bytes which has no sense. Instead of that just handle the good
case copying from the same source the number of bytes of
priv->reg.wep_key[index].size. If it is zero the final 'extra'
parameter won't be copied at all because the number of bytes to
copy will be zero. With this change the code gets simplified.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:04 +02:00
Sergio Paracuellos
5dcb7b1e98 staging: ks7010: remove not used enum in eap_packet header file
This commit removes an anonymous enumerator inside eap_packet
header file because it is not being used anymore.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:32:04 +02:00
Sergio Paracuellos
9818caa236 staging: ks7010: remove struct ieee802_1x_eapol_key
This commit removes ieee802_1x_eapol_key struct because
it is not being used at all. It also removes definitions
related to some fields of the removed struct.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:30:48 +02:00
Sergio Paracuellos
6704ddbb85 staging: ks7010: group some cases in switch-case block in hostif_mib_set_confirm
This commit groups some case statements because its behaviour is
just do nothing which is the same as the default. Clean 'break'
keyword in those which are affected.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:29:53 +02:00
Sergio Paracuellos
d6a72502e3 staging: ks7010: refactor code for hostif_sme_sleep_set function
This commit refactors code for hostif_sme_sleep_set function. This
function was using a switch-case block to handle only two states
where the action to do for them is the same. Just refactor a bit
to check for return condition at first and doing the common action
after in other case.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:29:50 +02:00
Sergio Paracuellos
d3bef56b75 staging: ks7010: remove nonsense break from case block
This commit removes 'break' from case block because the
code is just using the 'default' break for some cases and
this one can be included also there.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:29:50 +02:00
Sergio Paracuellos
abca20adc5 staging: ks7010: change return value of ks_wlan_do_power_save function
This commit change return value of ks_wlan_do_power_save function
from int to void. This function is just returning zero and return
value is not being checked also, so it is nonsense to return an
integer.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:29:50 +02:00
Sergio Paracuellos
e6bc5053b8 staging: ks7010: use linux circular buffer header macros to handle tx and rx queues
This commit replace current custom implementation of some circular
buffer head and tail logic in favour of the use of macros defined
in linux circ_buf.h header. Queue related inline function names
have been review also.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:29:44 +02:00
Sergio Paracuellos
6adc30b179 staging: ks7010: use msecs_to_jiffies in ks7010_rw_function function
This commit replaces custom time calculations done in ks7010_rw_function
with msecs_to_jiffies() function which has the same behaviour.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:38 +02:00
Sergio Paracuellos
e0ba53a43e staging: ks7010: change sdio related read/write function parameter types
This commit reviews and changes SDIO related read and write
functions parameter types to use the preferred u* kernel types.
Also length parameter which was defined as int has nonsense
because calls to this functions are called useing an unsigned
instead. Because of this length parameters have been changed
also into unsigned int.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:38 +02:00
Sergio Paracuellos
7dd51ea1f6 staging: ks7010: fix remaining long line warnings in ks7010_sdio source
This commit fixes remaining checkpatch warnings because of
the use of lines longer than 80 characters in ks7010_sdio
source file. After this clean, this file has no remaining
warnings around.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:38 +02:00
Sergio Paracuellos
e4844d6f87 staging: ks7010: remove nonsense comment
This commit removes a comment which has nonsense because
it is obvious what the code does just reading SET_NETDEV_DEV
declaration. This also fixes a checkpatch warning because a
line longer than 80 characters.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:38 +02:00
Sergio Paracuellos
f2052072fb staging: ks7010: remove '\' character from michael_block function
This commit removes '\' character from michael_block function.
It seems these two were not removed properly in the following
commit:
 - staging: ks7010: replace MichaelBlockFunction macro with
   inline function (c61cc2cc3b).

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:38 +02:00
Sergio Paracuellos
9b5124319d staging: ks7010: remove nosense #if 1 directive
This commit removes #if 1 directive from code to
improve readability. It is always true, so it makes
no sense to have it there.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
d0d3777ca2 staging: ks7010: remove KS_WLAN_MEM_FLAG definition
This commit removes KS_WLAN_MEM_FLAG definition which is
hiding GFP_ATOMIC along the code. It is better to use directly
GFP_ATOMIC in kmalloc's because this it is easier to read.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
5401fcbe29 staging: ks7010: rewrite hif_align_size inline function
This commit rewrites hif_align_size inline function to
improve readability. It also change parameters and return
type from int to size_t which is the correct and the one
which is being used when this function is called from
several points of the code.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
f6eb1fee19 staging: ks7010: remove KS_ATOM preprocessor condtional code
This commit removes KS_ATOM preprocessor conditional code from
hif_align_size because it is not defined anywhere.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
b777e3e152 staging: ks7010: move and rename DEVICE_ALIGNMENT into correct header
This commit moves DEVICE_ALIGNMENT definition into the header ks_hostif.h
which is where it is being used. This is also defined always so just
remove nosense undef definitions also and clean some preprocessor
conditional directives in hif_align_size function.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
477c5eb5eb staging: ks7010: indent enum properly in eap_packet.h header file
This commit indents properly some enumeration values to improve
code readability a bit.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
7ba5800b0d staging: ks7010: change ETHER_HDR_SIZE definition to use the size of struct ether_hdr
This commit changes ETHER_HDR_SIZE definition which is a hardcoded
number using the size of the structure ether_hdr which is the one
for what this definition has been created. This improves readability
and makes clear the intention of this definition along the code.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:35 +02:00
Sergio Paracuellos
2f90a43f8e staging: ks7010: remove two redefined defines in eap_packet.h header
This commit removes GENERIC_INFO_ELEM and RSN_INFO_ELEM definitions
from eap_packet.h header file which are not being used at all.
These two are also defined in the ks_wlan_net.c source file as
GENERIC_INFO_ELEM_ID and RSN_INFO_ELEM_ID with the same values.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:34 +02:00
Sergio Paracuellos
fd36fd0b04 staging: ks7010: remove EAPOL_VERSION preprocessor definition
This commit removes EAPOL_VERSION define from eap_packet.h
header file because it is not being used anywhere.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:34 +02:00
Sergio Paracuellos
a350085221 staging: ks7010: remove not used enum values from eap_packet.h header
This commit removes not used at all enum values from eap_packet.h
header file. This values are defined in the kernel ieee80211.h
header and the only one that is being used in ks_wlan_net.c source
which is WLAN_REASON_MIC_FAILURE is being used from this header.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:27:34 +02:00
Gustavo A. R. Silva
9962d86dda staging: ks7010_sdio: fix NULL pointer dereference and memory leak
priv is being explicitly dereferenced when it is still null, when
jumping to goto label err_free_netdev, before it is properly
updated with a valid memory address.

Also, when this happens, memory allocated for netdev at line 854:
netdev = alloc_etherdev(sizeof(*priv)) is not being free'd before
return, hence there is a memory leak.

The current code looks a bit too complicated and can be replaced
by just directly freeing netdev before return.

Notice that card->priv = NULL isn't required because the next thing
we do to card is kfree(card).

Addresses-Coverity-ID: 1467844 ("Explicit null dereferenced")
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-23 14:24:47 +02:00