changeset 537:58085410b2be

cp/drivers: cleanup the virtual device alloc routine Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Tue, 26 Apr 2011 15:48:11 -0400
parents 0d79cb89e046
children 9cb4312bf8b0
files cp/drivers/vdevice.c
diffstat 1 files changed, 6 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/cp/drivers/vdevice.c	Tue Apr 26 15:46:16 2011 -0400
+++ b/cp/drivers/vdevice.c	Tue Apr 26 15:48:11 2011 -0400
@@ -70,20 +70,15 @@
 			// FIXME: hook it up to mdisk driver
 			break;
 		case VDEV_LINK:
-			goto free;
 		case VDEV_INVAL:
-			goto out;
+			ret = -EINVAL;
+			break;
 	}
 
-	list_add_tail(&vdev->devices, &sys->virt_devs);
+	if (!ret)
+		list_add_tail(&vdev->devices, &sys->virt_devs);
+	else
+		free(vdev);
 
 	return ret;
-
-free:
-	free(vdev);
-	return 0;
-
-out:
-	free(vdev);
-	return -EINVAL;
 }