Staging: rtl8192u: Simplify error check code at prism2_wep_init
authorPedro Marzo Perez <marzo.pedro@gmail.com>
Tue, 2 Jun 2015 23:28:38 +0000 (01:28 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jun 2015 20:40:55 +0000 (13:40 -0700)
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>
drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c

index 26f2fb1..651bd65 100644 (file)
@@ -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;
 }