Hello, I'm trying to update a third-party driver for kernel 2.6.32 to kernel 3.x and struggling with the BKL. I have replaced the .ioctl field in struct file_operations with .unlocked_ioctl, and removed the inode parameter from the handler function. However, I am unsure what (if any) locks I need to take now that the function will be called without the BKL. Can someone give me some guidance? How do I recognize where I need to add a lock? The driver calls the following kernel functions: COPY_FROM_USER writel readl list_empty_careful spin_lock, spin_unlock set_bit udelay init_waitqueue_head wait_event_interruptible_timeout wake_up_interruptible disable_irq_nosync local_irq_disable enable_irq Thanks, -Nikolaus -- »Time flies like an arrow, fruit flies like a Banana.« PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies