Index: uspace/srv/net/netif/dp8390/dp8390.c
===================================================================
--- uspace/srv/net/netif/dp8390/dp8390.c	(revision d510c0fe8c70222f1ac14dbf46f89ea4957a3e0e)
+++ uspace/srv/net/netif/dp8390/dp8390.c	(revision 04729b1e1574f33995e8751f1afd851cbd673a3e)
@@ -820,5 +820,6 @@
 {
 	dp_rcvhdr_t header;
-	unsigned pageno, curr, next;
+	//unsigned pageno, curr, next;
+	int pageno, curr, next;
 	vir_bytes length;
 	int packet_processed, r;
@@ -1066,5 +1067,7 @@
 {
 	vir_bytes vir_hw;//, vir_user;
-	int bytes, i, r;
+	//int bytes, i, r;
+	int i, r;
+	vir_bytes bytes;
 
 	vir_hw = (vir_bytes)dep->de_locmem + nic_addr;
@@ -1114,5 +1117,6 @@
 {
 //	phys_bytes phys_user;
-	int bytes, i;
+	int i;
+	vir_bytes bytes;
 
 	outb_reg0(dep, DP_ISR, ISR_RDC);
@@ -1174,6 +1178,8 @@
 	vir_bytes vir_user;
 	vir_bytes ecount;
-	int i, r, bytes, user_proc;
-	u8_t two_bytes[2];
+	int i, r, user_proc;
+	vir_bytes bytes;
+	//u8_t two_bytes[2];
+	u16_t two_bytes;
 	int odd_byte;
 
@@ -1213,5 +1219,6 @@
 		{
 			r= sys_vircopy(user_proc, D, vir_user, 
-				SELF, D, (vir_bytes)&two_bytes[1], 1);
+			//	SELF, D, (vir_bytes)&two_bytes[1], 1);
+				SELF, D, (vir_bytes)&(((u8_t *)&two_bytes)[1]), 1);
 			if (r != OK)
 			{
@@ -1220,5 +1227,6 @@
 					r);
 			}
-			outw(dep->de_data_port, *(u16_t *)two_bytes);
+			//outw(dep->de_data_port, *(u16_t *)two_bytes);
+			outw(dep->de_data_port, two_bytes);
 			count--;
 			offset++;
@@ -1243,5 +1251,6 @@
 			assert(bytes == 1);
 			r= sys_vircopy(user_proc, D, vir_user, 
-				SELF, D, (vir_bytes)&two_bytes[0], 1);
+			//	SELF, D, (vir_bytes)&two_bytes[0], 1);
+				SELF, D, (vir_bytes)&(((u8_t *)&two_bytes)[0]), 1);
 			if (r != OK)
 			{
@@ -1260,5 +1269,6 @@
 
 	if (odd_byte)
-		outw(dep->de_data_port, *(u16_t *)two_bytes);
+		//outw(dep->de_data_port, *(u16_t *)two_bytes);
+		outw(dep->de_data_port, two_bytes);
 
 	for (i= 0; i<100; i++)
@@ -1284,5 +1294,6 @@
 {
 	vir_bytes vir_hw;//, vir_user;
-	int bytes, i, r;
+	vir_bytes bytes;
+	int i, r;
 
 	vir_hw = (vir_bytes)dep->de_locmem + nic_addr;
@@ -1332,5 +1343,6 @@
 {
 //	phys_bytes phys_user;
-	int bytes, i;
+	int i;
+	vir_bytes bytes;
 
 	outb_reg0(dep, DP_RBCR0, count & 0xFF);
@@ -1380,6 +1392,8 @@
 	vir_bytes vir_user;
 	vir_bytes ecount;
-	int i, r, bytes, user_proc;
-	u8_t two_bytes[2];
+	int i, r, user_proc;
+	vir_bytes bytes;
+	//u8_t two_bytes[2];
+	u16_t two_bytes;
 	int odd_byte;
 
@@ -1417,5 +1431,6 @@
 		if (odd_byte)
 		{
-			r= sys_vircopy(SELF, D, (vir_bytes)&two_bytes[1],
+			//r= sys_vircopy(SELF, D, (vir_bytes)&two_bytes[1],
+			r= sys_vircopy(SELF, D, (vir_bytes)&(((u8_t *)&two_bytes)[1]),
 				user_proc, D, vir_user,  1);
 			if (r != OK)
@@ -1446,6 +1461,8 @@
 		{
 			assert(bytes == 1);
-			*(u16_t *)two_bytes= inw(dep->de_data_port);
-			r= sys_vircopy(SELF, D, (vir_bytes)&two_bytes[0],
+			//*(u16_t *)two_bytes= inw(dep->de_data_port);
+			two_bytes= inw(dep->de_data_port);
+			//r= sys_vircopy(SELF, D, (vir_bytes)&two_bytes[0],
+			r= sys_vircopy(SELF, D, (vir_bytes)&(((u8_t *)&two_bytes)[0]),
 				user_proc, D, vir_user,  1);
 			if (r != OK)
