About Altera 16550 soft ip driver

Hello everyone.
I am testing the uart driver for Altera 16550 soft ip and kernel version is 5.2.rc3.

When my test application sends data in quantities by the cycle of the 32ms, I’m faced with the following problem,

“irq 46: nobody cared (try booting with the “irqpoll” option)”

I investigate about this issue, I found that serial8250_interrupt function always returns UNHANDLED code.
serial8250_interrupt function calls serial8050_tx_threshold_handle_irq function.
I found that serial8050_tx_threshold_handle_irq always returns 0.
This is a pieces of the code of serial8050_tx_threshold_handle_irq function.

—>Start code of serial8050_tx_threshold_handle_irq function
/* TX Threshold IRQ triggered so load up FIFO */
if ((iir & UART_IIR_ID) == UART_IIR_THRI) {
struct uart_8250_port *up = up_to_u8250p(port);

spin_lock_irqsave(&port->lock, flags);
serial8250_tx_chars(up);<--------[1]
spin_unlock_irqrestore(&port->lock, flags);

}
iir = serial_port_in(port, UART_IIR);<—[2]
return(serial8250_handle_irq(port, iir));
<------End of the code of serial8050_tx_threshold_handle_irq

Please see [1].
After calling serial8250_tx_chars, UART_IER_THRI bit of IER register is cleared.
So, iir value is always 0xC1 and return value of serial8050_tx_threshold_handle_irq function is always 0.(see [2])

For prevent from occurring the “irq 46 nobody cared” error, I changed the code of serial8050_tx_threshold_handle_irq.

–>start code
static int serial8250_tx_threshold_handle_irq(struct uart_port *port)
{
unsigned long flags;
unsigned int iir = serial_port_in(port, UART_IIR);
int ret = 0; //<-----modification point

/* TX Threshold IRQ triggered so load up FIFO */
if ((iir & UART_IIR_ID) == UART_IIR_THRI) {
    struct uart_8250_port *up = up_to_u8250p(port);

    spin_lock_irqsave(&port->lock, flags);
    serial8250_tx_chars(up);
   spin_unlock_irqrestore(&port->lock, flags);
   ret = 1; //<-----modification point
}

iir = serial_port_in(port, UART_IIR);
ret |= serial8250_handle_irq(port, iir); //<-----modification point
return ret;

}
<—end here

Could you mind to point out whether there are any defects in a cord above-mentioned?