Index: kernel/arch/sparc64/src/drivers/niagara.c
===================================================================
--- kernel/arch/sparc64/src/drivers/niagara.c	(revision 86018c11a1e682f179cb1ce268bf18b901b8a78b)
+++ kernel/arch/sparc64/src/drivers/niagara.c	(revision f41aa81a53b0f7724b407255df2f484604ea3e80)
@@ -52,6 +52,8 @@
 #include <genarch/srln/srln.h>
 
+/* polling interval in miliseconds */
 #define POLL_INTERVAL  10000
 
+/* device instance */
 static niagara_instance_t *instance = NULL;
 
@@ -124,4 +126,5 @@
 static void niagara_poll(niagara_instance_t *instance)
 {
+	/* print any pending characters from the shared buffer to the console */
 	while (output_buffer.read_ptr != output_buffer.write_ptr) {
 		do_putchar(output_buffer.data[output_buffer.read_ptr]);
@@ -132,8 +135,11 @@
 	uint64_t c;
 
+	/* read character from keyboard, send it to upper layers of HelenOS */
 	if (__hypercall_fast_ret1(0, 0, 0, 0, 0, CONS_GETCHAR, &c) == EOK) {
 		if (!silent) {
+			/* kconsole active, send the character to kernel */
 			indev_push_character(instance->srlnin, c);
 		} else {
+			/* kconsole inactive, send the character to uspace driver */
 			input_buffer.data[input_buffer.write_ptr] = (char) c;
 			input_buffer.write_ptr =
@@ -141,5 +147,4 @@
 		}
 	}
-
 }
 
@@ -177,5 +182,9 @@
 
 	instance->srlnin = NULL;
-	sysinfo_set_item_val("fb.kind", NULL, 5);
+
+	output_buffer.read_ptr = 0;
+	output_buffer.write_ptr = 0;
+	input_buffer.write_ptr = 0;
+	input_buffer.read_ptr = 0;
 
 	/*
@@ -184,8 +193,6 @@
 	 * buffers.
  	 */
-	output_buffer.read_ptr = 0;
-	output_buffer.write_ptr = 0;
-	input_buffer.write_ptr = 0;
-	input_buffer.read_ptr = 0;
+
+	sysinfo_set_item_val("fb.kind", NULL, 5);
 
 	sysinfo_set_item_val("niagara.outbuf.address", NULL,
