I'm looking at linux driver where I see this:
spin_lock_bh(&driver->xy_lock);
/* code to clear a status bit from 32 bit PCI register */
iowrite32(...);
spin_unlock_bh(&driver->xy_lock);
Isn't this unnecessary to obtain a lock to clear a status bit? If not, why?