I see there is no need of taking the spinlock as timeout will be
handled
after the calculated time as per data size and speed.
There is 99.9% less chances of interrupt during the timeout handler.
https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1201081
The thing is, we want it to be 100% reliable, not 99.9% reliable. Is
it somehow wrong to add the spinlock? ...or are you noticing
performance problems with the spinlock there? It's just nice not to
have to think about it.
As I said, timeout will be handled after the calculated time as per data
size and speed. Enough time is given for interrupt, there is no chance
of interrupt occurrence during the handle_fifo_timeout(). So there is no
need of spinlock.