diff --git a/drivers/staging/nvec/nvec_ps2.c b/drivers/staging/nvec/nvec_ps2.c
index c3ba12c7cf8388a5a0728acd3ccabaa24bbb8fb4..742f5ccfe76387b75a89faea02773bc6022d600b 100644
--- a/drivers/staging/nvec/nvec_ps2.c
+++ b/drivers/staging/nvec/nvec_ps2.c
@@ -21,7 +21,7 @@
 
 #include "nvec.h"
 
-#define START_STREAMING	{'\x06', '\x03', '\x01'}
+#define START_STREAMING	{'\x06', '\x03', '\x04'}
 #define STOP_STREAMING	{'\x06', '\x04'}
 #define SEND_COMMAND	{'\x06', '\x01', '\xf4', '\x01'}
 
@@ -65,7 +65,8 @@ static int nvec_ps2_notifier(struct notifier_block *nb,
 
 	switch (event_type) {
 	case NVEC_PS2_EVT:
-		serio_interrupt(ps2_dev.ser_dev, msg[2], 0);
+		for (i = 0; i < msg[1]; i++)
+			serio_interrupt(ps2_dev.ser_dev, msg[2 + i], 0);
 		return NOTIFY_STOP;
 
 	case NVEC_PS2: