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.