lock_kernel();
joystick[minor].active = 0;
joystick[minor].ready = 0;
if ((joystick[0].active == 0) && (joystick[1].active == 0))
ikbd_joystick_disable();
unlock_kernel();
But, there are other places in the same file where the same operations
are performed with no locking at all (except for
ikbd_joystick_disable()). Is there a reason to have locking in the
release function but not in the read or open functions?
This is a quite common practice in release functions throughout the
kernel. In 2.4.10, I counted 108 different places where the BKL is used
in a release function. I'm not claiming that all of these are
unnecessary, but I believe a big chunk of them are.
-- David C. Hansen haveblue@us.ibm.com IBM LTC Base/OS Group (503)578-4080 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/