diff --git a/drivers/ieee1394/csr1212.c b/drivers/ieee1394/csr1212.c
index 3c044fc..43f5b7f 100644
--- a/drivers/ieee1394/csr1212.c
+++ b/drivers/ieee1394/csr1212.c
@@ -1138,7 +1138,7 @@
 					  CSR1212_KV_VAL(ki));
 		if (!k) {
 			ret = -ENOMEM;
-			goto fail;
+			goto out;
 		}
 
 		k->refcnt = 0;	/* Don't keep local reference when parsing. */
@@ -1149,7 +1149,7 @@
 					   CSR1212_KV_VAL(ki));
 		if (!k) {
 			ret = -ENOMEM;
-			goto fail;
+			goto out;
 		}
 		k->refcnt = 0;	/* Don't keep local reference when parsing. */
 		break;
@@ -1162,7 +1162,7 @@
 			 * or Directories.  The Config ROM image is most likely
 			 * messed up, so we'll just abort here. */
 			ret = -EIO;
-			goto fail;
+			goto out;
 		}
 
 		k = csr1212_find_keyval_offset(dir, offset);
@@ -1177,7 +1177,7 @@
 
 		if (!k) {
 			ret = -ENOMEM;
-			goto fail;
+			goto out;
 		}
 		k->refcnt = 0;	/* Don't keep local reference when parsing. */
 		k->valid = 0;	/* Contents not read yet so it's not valid. */
@@ -1189,8 +1189,7 @@
 		dir->next = k;
 	}
 	ret = csr1212_attach_keyval_to_directory(dir, k);
-
-fail:
+out:
 	if (ret != CSR1212_SUCCESS && k != NULL)
 		free_keyval(k);
 	return ret;
@@ -1214,7 +1213,7 @@
 	if ((csr1212_crc16(kvi->data, kvi_len) != kvi->crc) &&
 	    (csr1212_msft_crc16(kvi->data, kvi_len) != kvi->crc)) {
 		ret = -EINVAL;
-		goto fail;
+		goto out;
 	}
 #endif
 
@@ -1241,7 +1240,7 @@
 			kv->value.leaf.data = CSR1212_MALLOC(size);
 			if (!kv->value.leaf.data) {
 				ret = -ENOMEM;
-				goto fail;
+				goto out;
 			}
 
 			kv->value.leaf.len = kvi_len;
@@ -1251,8 +1250,7 @@
 	}
 
 	kv->valid = 1;
-
-fail:
+out:
 	return ret;
 }
 
