tty: xuartps: Don't write IRQ disable register to enable interrupts
authorSoren Brinkmann <soren.brinkmann@xilinx.com>
Sat, 5 Apr 2014 00:23:42 +0000 (17:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Apr 2014 23:21:51 +0000 (16:21 -0700)
A comment states, that, according to the data sheet, to enable
interrupts the disable register should be written, but the enable
register could be left untouched. And it suspsects a HW bug requiring
to write both.
Reviewing the data sheet, these statements seem wrong. Just as one would
expect. Writing to the enable/disable register enables/disables
interrupts.
Hence the misleading comment and needless write to the disable register
are removed from the enable sequence.

Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Tested-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/xilinx_uartps.c

index b182ab8cfd0774a9e4ebad418a34eece3c8d3203..f9a2c2fc03c4a4e7bd159a509edfcaae5b5ab02c 100644 (file)
@@ -1085,11 +1085,7 @@ static void xuartps_console_write(struct console *co, const char *s,
 
        xuartps_writel(ctrl, XUARTPS_CR_OFFSET);
 
-       /* restore interrupt state, it seems like there may be a h/w bug
-        * in that the interrupt enable register should not need to be
-        * written based on the data sheet
-        */
-       xuartps_writel(~imr, XUARTPS_IDR_OFFSET);
+       /* restore interrupt state */
        xuartps_writel(imr, XUARTPS_IER_OFFSET);
 
        if (locked)