Messages in this thread | | | Subject | Re: [PATCH] New QStor SATA/RAID Driver for 2.6.9-rc2 | From | James Bottomley <> | Date | 14 Sep 2004 14:51:19 -0400 |
| |
On Tue, 2004-09-14 at 14:35, Jeff Garzik wrote: > The lock is taken in the SCSI layer with spin_lock_irqsave(), but the > low-level driver cannot perform the exact opposite, > spin_unlock_irqrestore(). The best they can do is spin_lock_irq(), > which isnt 100% the same.
That's what they do if you look.
The eh_ stubs are only called from the eh_ thread, so it's safe to enable interrupts as well.
The business of the mid-layer taking the locks is an annoying holdover from the "drivers don't need to do locking" mentality. Unfortunately most drivers now simply drop the locks immediately they begin an eh_ entry point and reacquire them just prior to returning ... which makes all the eh code look messy.
James
- 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/
| |