> the machine read some data and then it simply hung without
> any logs generated by the kernel and/or driver.
This sounds like the same problem I had with sbpcd. I sent Linus
a fix for that earlier this week.
> 1) Did someone experience similar problems?
Ayuh...
> 2) Is the total lock of the machine (without any logs)
> an indication of disabled interrupts. `cli()'
> without corresponding `sti()'?
In this case it's exactly the opposite :-). Several of the cdrom
drivers use sti() in their request handlers to allow interrupts
to occur. The problem is that the block request queues are now
protected by the io_request_lock spinlock. So we enable interrupts
but don't drop the lock, some other device interrupts, the handler
wants to look at the request queue - and blocks waiting for the
spinlock to be released. Navel watcher :-).
If this is the problem you need to change the sti() to do a
spin_unlock_irq(&io_request_lock) and you probably should do
a spin_lock_irq(&io_request_lock) before exiting the request
handler.
Mike
-- .----------------------------------------------------------------------. | Mike Jagdis | Internet: mailto:mike@roan.co.uk | | Roan Technology Ltd. | | | 54A Peach Street, Wokingham | Telephone: +44 118 989 0403 | | RG40 1XG, ENGLAND | Fax: +44 118 989 1195 | `----------------------------------------------------------------------'
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/faq.html