memcpy(key, template[i].key, template[i].klen);
 
                ret = crypto_aead_setkey(tfm, key, template[i].klen);
-               if (!ret == template[i].fail) {
+               if (template[i].fail == !ret) {
                        pr_err("alg: aead%s: setkey failed on test %d for %s: flags=%x\n",
                               d, j, algo, crypto_aead_get_flags(tfm));
                        goto out;
                memcpy(key, template[i].key, template[i].klen);
 
                ret = crypto_aead_setkey(tfm, key, template[i].klen);
-               if (!ret == template[i].fail) {
+               if (template[i].fail == !ret) {
                        pr_err("alg: aead%s: setkey failed on chunk test %d for %s: flags=%x\n",
                               d, j, algo, crypto_aead_get_flags(tfm));
                        goto out;
 
                ret = crypto_cipher_setkey(tfm, template[i].key,
                                           template[i].klen);
-               if (!ret == template[i].fail) {
+               if (template[i].fail == !ret) {
                        printk(KERN_ERR "alg: cipher: setkey failed "
                               "on test %d for %s: flags=%x\n", j,
                               algo, crypto_cipher_get_flags(tfm));
 
                ret = crypto_skcipher_setkey(tfm, template[i].key,
                                             template[i].klen);
-               if (!ret == template[i].fail) {
+               if (template[i].fail == !ret) {
                        pr_err("alg: skcipher%s: setkey failed on test %d for %s: flags=%x\n",
                               d, j, algo, crypto_skcipher_get_flags(tfm));
                        goto out;
 
                ret = crypto_skcipher_setkey(tfm, template[i].key,
                                             template[i].klen);
-               if (!ret == template[i].fail) {
+               if (template[i].fail == !ret) {
                        pr_err("alg: skcipher%s: setkey failed on chunk test %d for %s: flags=%x\n",
                               d, j, algo, crypto_skcipher_get_flags(tfm));
                        goto out;