diff -dPNur kmod/linvcons.c kmod-ds/linvcons.c
--- kmod/linvcons.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/linvcons.c	2013-09-13 01:57:28.000000000 +0200
@@ -96,7 +96,8 @@
 	micvcons_tty->driver_name = MICVCONS_DEVICE_NAME;
 	micvcons_tty->name = MICVCONS_DEVICE_NAME;
 	micvcons_tty->major = 0;
-	micvcons_tty->minor_num = num_bds;
+	    // I'm sure, it was never needed and just dropped in the latest kernels
+//	micvcons_tty->minor_num = num_bds;
 	micvcons_tty->minor_start = 0;
 	micvcons_tty->type = TTY_DRIVER_TYPE_SERIAL;
 	micvcons_tty->subtype = SERIAL_TYPE_NORMAL;
diff -dPNur kmod/linvnet.c kmod-ds/linvnet.c
--- kmod/linvnet.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/linvnet.c	2013-09-13 02:07:56.000000000 +0200
@@ -204,7 +204,7 @@
 	.ndo_stop		= micveth_stop_dev,
 	.ndo_start_xmit		= micveth_xmit,
 	.ndo_validate_addr	= eth_validate_addr,
-	.ndo_set_multicast_list = micveth_multicast_list,
+	.ndo_set_rx_mode = micveth_multicast_list,
 	.ndo_set_mac_address	= micveth_set_address,
 	.ndo_change_mtu		= micveth_change_mtu,
 };
diff -dPNur kmod/mic.mod.c kmod-ds/mic.mod.c
diff -dPNur kmod/micscif_api.c kmod-ds/micscif_api.c
--- kmod/micscif_api.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/micscif_api.c	2013-09-13 01:58:59.000000000 +0200
@@ -2599,7 +2599,7 @@
 
 	/* Is it OK to use wait->key?? */
 	if (ep->state == SCIFEP_LISTENING) {
-		if (!wait || wait->key & SCIF_POLLIN) {
+		if (!wait || wait->_key & SCIF_POLLIN) {
 			poll_wait(f, &ep->conwq, wait);
 			if (ep->conreqcnt)
 				mask |= SCIF_POLLIN;
@@ -2609,7 +2609,7 @@
 		goto return_scif_poll;
 	}
 
-	if (!wait || wait->key & SCIF_POLLIN) {
+	if (!wait || wait->_key & SCIF_POLLIN) {
 		if (ep->state != SCIFEP_CONNECTED &&
 		    ep->state != SCIFEP_LISTENING &&
 		    ep->state != SCIFEP_DISCONNECTED) {
@@ -2622,7 +2622,7 @@
 			mask |= SCIF_POLLIN;
 	}
 
-	if (!wait || wait->key & SCIF_POLLOUT) {
+	if (!wait || wait->_key & SCIF_POLLOUT) {
 		if (ep->state != SCIFEP_CONNECTED &&
 		    ep->state != SCIFEP_LISTENING) {
 			mask |= SCIF_POLLERR;
diff -dPNur kmod/micscif_rb.c kmod-ds/micscif_rb.c
--- kmod/micscif_rb.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/micscif_rb.c	2013-09-13 02:01:31.000000000 +0200
@@ -43,6 +43,7 @@
 #include "mic/micscif.h"
 #include "mic/micscif_rb.h"
 
+#include <linux/module.h>
 #include <linux/circ_buf.h>
 #define count_in_ring(head, tail, size)    CIRC_CNT(head, tail, size)
 #define space_in_ring(head, tail, size)    CIRC_SPACE(head, tail, size)
diff -dPNur kmod/micscif_select.c kmod-ds/micscif_select.c
--- kmod/micscif_select.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/micscif_select.c	2013-09-13 02:11:35.000000000 +0200
@@ -232,7 +232,7 @@
 		return;
 	entry->filp = NULL;
 	entry->wait_address = wait_address;
-	entry->key = p->key;
+	entry->key = p->_key;
 	init_waitqueue_func_entry(&entry->wait, pollwake);
 	entry->wait.private = pwq;
 	add_wait_queue(wait_address, &entry->wait);
@@ -287,7 +287,7 @@
 		mask = POLLNVAL;
 		mask = DEFAULT_POLLMASK;
 		if (pwait)
-			pwait->key = pollfd->events |
+			pwait->_key = pollfd->events |
 					POLLERR | POLLHUP;
 		mask = scif_poll_kernel(pwait, epd);
 		/* Mask out unneeded events. */
diff -dPNur kmod/micveth_dma.c kmod-ds/micveth_dma.c
--- kmod/micveth_dma.c	2013-08-23 19:30:45.000000000 +0200
+++ kmod-ds/micveth_dma.c	2013-09-13 02:08:44.000000000 +0200
@@ -901,7 +901,7 @@
 	.ndo_stop		= micvnet_stop_dev,
 	.ndo_start_xmit		= micvnet_xmit,
 	.ndo_validate_addr	= eth_validate_addr,
-	.ndo_set_multicast_list = micvnet_multicast_list,
+	.ndo_set_rx_mode 	= micvnet_multicast_list,
 	.ndo_set_mac_address	= micvnet_set_address,
 	.ndo_change_mtu		= micvnet_change_mtu,
 };
