Hmm strange, please send me your .config so I can see some more facts
about your setup.
> ide_tcq_intr_timeout: timeout waiting for interrupt...
> ide_tcq_intr_timeout: hwgroup not busy
We timed out waiting for an interrupt for service or dma completion.
Damn, I forgot to print which one. Please change that printk in
drivers/ide/ide-tcq.c:ide_tcq_intr_timeout() to:
printk("ide_tcq_intr_timeout: timeout waiting for %s interrupt...\n",
hwgroup->rq ? "completion" : "service");
and reproduce!
> hda: invalidating pending queue (10)
Ok, so a service check produced nothing for the drive (ok, odds are good
this is a completion interrupt timeout), so we proceeded to invalidate
the block tag queue.
> kernel BUG at ll_rw_blk.c:407!
And apparently one of the request on the tag queue had no tag assigned,
very odd. This means someone else ended it, but it didn't get cleared.
Hmm. This is probably your problem, I'll have to think about this.
[snip oops]
At least part of the decode seems bogus (eip should be
blk_queue_end_tag...) and the last traces should be ide_tcq_intr_timeout
-> ide_tcq_invalidate_queue -> blk_queue_invalidate_tags
Thanks for testing!
-- Jens Axboe- 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/