Hey James, Martin, I'm in the process of fixing a few issues with the RNG and one thing that surprised me is that scsi_end_request() appears to be called from hard IRQ context rather than some worker or soft IRQ as I assumed it would be. That's fine, and I can deal with it, but what I haven't yet been able to figure out is whether it's _always_ called from hard IRQ, or whether it's sometimes from hard IRQ and sometimes not, and so I should handle both cases in the thing I'm working on? And if the answer turns out to be, "I don't know; that's really complicated and..." just say so, and I'll just try to work out the whole function graph. Jason