Hello Peter Hurley, The patch 33d9b8b23a73: "serial: 8250: Extract IIR logic steering from rx dma" from Apr 9, 2016, leads to the following static checker warning: drivers/tty/serial/8250/8250_omap.c:1093 handle_rx_dma() warn: signedness bug returning '(-22)' drivers/tty/serial/8250/8250_omap.c 1084 static bool handle_rx_dma(struct uart_8250_port *up, unsigned int iir) ^^^^ This returns bool 1085 { 1086 switch (iir & 0x3f) { 1087 case UART_IIR_RLSI: 1088 case UART_IIR_RX_TIMEOUT: 1089 case UART_IIR_RDI: 1090 omap_8250_rx_dma_flush(up); 1091 return true; 1092 } 1093 return omap_8250_rx_dma(up); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This returns error codes 1094 } 1095 1096 static unsigned char omap_8250_handle_rx_dma(struct uart_8250_port *up, 1097 u8 iir, unsigned char status) 1098 { 1099 if ((status & (UART_LSR_DR | UART_LSR_BI)) && 1100 (iir & UART_IIR_RDI)) { 1101 if (handle_rx_dma(up, iir)) { ^^^^^^^^^^^^^^^^^^^^^^ So I guess this is reversed for the omap_8250_rx_dma() case. 1102 status = serial8250_rx_chars(up, status); 1103 omap_8250_rx_dma(up); 1104 } 1105 } 1106 1107 return status; 1108 } regards, dan carpenter