umount: umount -a shouldn't stop on first failure
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 9c551f9..6ba72ae 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -54,11 +54,12 @@
 	/* If we're umounting all, then m points to the start of the list and
 	 * the argument list should be empty (which will match all). */
 
-	if (!(fp = setmntent(bb_path_mtab_file, "r"))) {
+	fp = setmntent(bb_path_mtab_file, "r");
+	if (!fp) {
 		if (opt & OPT_ALL)
 			bb_error_msg_and_die("cannot open %s", bb_path_mtab_file);
 	} else {
-		while (getmntent_r(fp,&me,path,sizeof(path))) {
+		while (getmntent_r(fp, &me, path, sizeof(path))) {
 			m = xmalloc(sizeof(struct mtab_list));
 			m->next = mtl;
 			m->device = xstrdup(me.mnt_fsname);
@@ -68,7 +69,7 @@
 		endmntent(fp);
 	}
 
-	/* If we're not mounting all, we need at least one argument. */
+	/* If we're not umounting all, we need at least one argument. */
 	if (!(opt & OPT_ALL)) {
 		m = 0;
 		if (!argc) bb_show_usage();
@@ -104,7 +105,7 @@
 		if (curstat && doForce) {
 			curstat = umount2(zapit, doForce);
 			if (curstat)
-				bb_error_msg_and_die("forced umount of %s failed!", zapit);
+				bb_error_msg("forced umount of %s failed!", zapit);
 		}
 
 		// If still can't umount, maybe remount read-only?
@@ -130,7 +131,7 @@
 		// Note this means that "umount /dev/blah" will unmount all instances
 		// of /dev/blah, not just the most recent.
 		while (m && (m = m->next))
-			if ((opt & OPT_ALL) || !strcmp(path,m->device))
+			if ((opt & OPT_ALL) || !strcmp(path, m->device))
 				break;
 	}