tfm = crypto_alloc_shash("sha1", 0, 0);
        if (IS_ERR(tfm)) {
-               ret = PTR_ERR(tfm);
                dev_err(&fw_info->ndev->nfc_dev->dev,
                        "Cannot allocate shash (code=%d)\n", ret);
-               goto out;
+               return PTR_ERR(tfm);
        }
 
        ret = crypto_shash_tfm_digest(tfm, fw->image, image_size, hash_data);
        if (ret) {
                dev_err(&fw_info->ndev->nfc_dev->dev,
                        "Cannot compute hash (code=%d)\n", ret);
-               goto out;
+               return ret;
        }
 
        /* Firmware update process */
        if (ret < 0) {
                dev_err(&fw_info->ndev->nfc_dev->dev,
                        "Unable to enter update mode\n");
-               goto out;
+               return ret;
        }
 
        for (off = 0; off < image_size; off += fw_info->sector_size) {
                if (ret < 0) {
                        dev_err(&fw_info->ndev->nfc_dev->dev,
                                "Firmware update error (code=%d)\n", ret);
-                       goto out;
+                       return ret;
                }
        }
 
        if (ret < 0) {
                dev_err(&fw_info->ndev->nfc_dev->dev,
                        "Unable to complete update mode\n");
-               goto out;
+               return ret;
        }
 
        dev_info(&fw_info->ndev->nfc_dev->dev,
                "Firmware update: success\n");
 
-out:
        return ret;
 }