Index: uspace/drv/bus/isa/isa.c
===================================================================
--- uspace/drv/bus/isa/isa.c	(revision c0393dbcc040eb89952593433df3e021f9e0c323)
+++ uspace/drv/bus/isa/isa.c	(revision eb94d84ae98b808d598ebfd5a592817b61ba9b3e)
@@ -245,6 +245,5 @@
 	bool opened = false;
 	int fd;
-	size_t file_len;
-	size_t total_read = 0;
+	size_t len;
 	ssize_t r;
 
@@ -257,7 +256,7 @@
 	opened = true;
 
-	file_len = lseek(fd, 0, SEEK_END);
+	len = lseek(fd, 0, SEEK_END);
 	lseek(fd, 0, SEEK_SET);
-	if (file_len == 0) {
+	if (len == 0) {
 		ddf_msg(LVL_ERROR, "Configuration file '%s' is empty.",
 		    conf_path);
@@ -265,5 +264,5 @@
 	}
 
-	buf = malloc(file_len + 1);
+	buf = malloc(len + 1);
 	if (buf == NULL) {
 		ddf_msg(LVL_ERROR, "Memory allocation failed.");
@@ -271,15 +270,11 @@
 	}
 
-	do {
-		r = read(fd, &buf[total_read], file_len - total_read);
-		if (r < 0) {
-			ddf_msg(LVL_ERROR, "Unable to read file '%s'.", conf_path);
-			goto cleanup;
-		}
-
-		total_read += r;
-	} while (total_read < file_len);
-
-	buf[file_len] = 0;
+	r = read_all(fd, buf, len);
+	if (r < 0) {
+		ddf_msg(LVL_ERROR, "Unable to read file '%s'.", conf_path);
+		goto cleanup;
+	}
+
+	buf[len] = 0;
 
 	suc = true;
