summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Marzo Perez <marzo.pedro@gmail.com>2015-06-03 01:28:38 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-08 13:40:55 -0700
commit251ae75c69c427149ab0f70b12a436144edd81b1 (patch)
treea5d89b06bccecc5c79b80676468525ee9893776d
parentbf95628e61c373f2e614b507718fa90b7490fbdb (diff)
Staging: rtl8192u: Simplify error check code at prism2_wep_init
Simplify prism2_wep_init error check code employing goto when a failure is detected. Removed pr_debug which was given a checkpatch.pl error because of literal string splitted across two lines of code, it was seldom going to be printed anyway. Signed-off-by: Pedro Marzo Perez <marzo.pedro@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c32
1 files changed, 9 insertions, 23 deletions
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
index 26f2fb15e2a3..651bd6517eae 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c
@@ -43,38 +43,24 @@ static void *prism2_wep_init(int keyidx)
priv = kzalloc(sizeof(*priv), GFP_ATOMIC);
if (priv == NULL)
- goto fail;
+ return NULL;
priv->key_idx = keyidx;
priv->tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
- if (IS_ERR(priv->tx_tfm)) {
- pr_debug("ieee80211_crypt_wep: could not allocate "
- "crypto API arc4\n");
- priv->tx_tfm = NULL;
- goto fail;
- }
+ if (IS_ERR(priv->tx_tfm))
+ goto free_priv;
priv->rx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
- if (IS_ERR(priv->rx_tfm)) {
- pr_debug("ieee80211_crypt_wep: could not allocate "
- "crypto API arc4\n");
- priv->rx_tfm = NULL;
- goto fail;
- }
+ if (IS_ERR(priv->rx_tfm))
+ goto free_tx;
/* start WEP IV from a random value */
get_random_bytes(&priv->iv, 4);
return priv;
-
-fail:
- if (priv) {
- if (priv->tx_tfm)
- crypto_free_blkcipher(priv->tx_tfm);
- if (priv->rx_tfm)
- crypto_free_blkcipher(priv->rx_tfm);
- kfree(priv);
- }
-
+free_tx:
+ crypto_free_blkcipher(priv->tx_tfm);
+free_priv:
+ kfree(priv);
return NULL;
}