iomodule: Fix Iomodule UART receive interrupt detection.

This patch updates the XIOModule_Uart_InterruptHandler to
read ISR Register instead of reading Interrupt pending register.

Signed-off-by: Naga Sureshkumar Relli <nagasure@xilinx.com>
Reviewed-by: Kedareswara rao Appana <appanad@xilinx.com>
This commit is contained in:
Naga Sureshkumar Relli 2015-08-06 19:50:45 +05:30 committed by Nava kishore Manne
parent 84204047c7
commit 2b86552aef
2 changed files with 9 additions and 2 deletions

View file

@ -218,6 +218,10 @@
* 1.02a sa 07/25/12 Updated with GPI interrupts and programmable baudrate
* 2.0 adk 19/12/13 Updated as per the New Tcl API's
* 2.1 bss 05/02/14 Added PitMask in XIOModule_Config.(CR #794167)
* 2.2 nsk 08/06/15 Updated XIOModule_Uart_InterruptHandler function
* in xiomodule_uart_intr.c file to read Status register
* instead of reading Interrupt Pending register.
* (CR #862715).
* </pre>
*
******************************************************************************/

View file

@ -48,6 +48,10 @@
* Ver Who Date Changes
* ----- ---- -------- -----------------------------------------------
* 1.03a sa 10/16/12 First release
* 2.2 nsk 08/06/15 Updated XIOModule_Uart_InterruptHandler function
* to read Status register instead of reading Interrupt
* Pending register.
*
* </pre>
*
*****************************************************************************/
@ -583,8 +587,7 @@ void XIOModule_Uart_InterruptHandler(XIOModule *InstancePtr)
* Read the status register to determine which, could be both,
* interrupt is active
*/
IsrStatus = XIOModule_ReadReg(InstancePtr->BaseAddress,
XIN_IPR_OFFSET);
IsrStatus = XIOModule_GetStatusReg(InstancePtr->BaseAddress);
if ((IsrStatus & XUL_SR_RX_FIFO_VALID_DATA) != 0) {
ReceiveDataHandler(InstancePtr);