Hi!
[ Upstream commit ba3684f99f1b25d2a30b6956d02d339d7acb9799 ]
Should it use something like 5000*udelay(100), instead, as that has chance to result in closer-to-500msec wait?
the half a second timeout didnt mean to be accurate but a worst case scenario...I am not sure accuracy matters.
Well, I'd be afraid that it would wait 5 seconds, not half a second. udelay(1) may be very inaccurate.
while (!(msm_read(port, UART_SR) & UART_SR_TX_EMPTY)) { if (msm_read(port, UART_ISR) & UART_ISR_TX_READY) break; udelay(1);
if (!timeout--)
} msm_write(port, UART_CR_CMD_RESET_TX_READY, UART_CR);break;
}
Plus, should it do some kind of dev_err() to let users know that something went very wrong with their serial?
I did consider this but then I thought that 1/2 second without interrupts on the core should not go unnoticed. But I might be wrong.
Well, maybe it will be noticed, but user will have no idea what caused it.
Pavel