NO.1 Do NOT make you process sleep when you are in the atomic context,especially,when you are holding a spinlock,seqlock or RCU lock.
NO.2 If your device interrupt services are to acquire a spinlock,do remember disable interrupts when you are going to acquire this spinlock.