make d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err)

... and simplify the living hell out of callers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/isofs/namei.c b/fs/isofs/namei.c
index 4fb3e80..68fa503 100644
--- a/fs/isofs/namei.c
+++ b/fs/isofs/namei.c
@@ -183,14 +183,9 @@
 				1024 + page_address(page));
 	__free_page(page);
 
-	inode = NULL;
-	if (found) {
-		inode = isofs_iget(dir->i_sb, block, offset);
-		if (IS_ERR(inode)) {
-			mutex_unlock(&sbi->s_mutex);
-			return ERR_CAST(inode);
-		}
-	}
+	inode = found ? isofs_iget(dir->i_sb, block, offset) : NULL;
+
 	mutex_unlock(&sbi->s_mutex);
+
 	return d_splice_alias(inode, dentry);
 }