Question about using spinlock to synchronize between kernel driver and an interrupt handler