Re: ieee1394: host adapter disappears on 1394 bus reset

From: Stefan Richter
Date: Wed Nov 22 2006 - 16:45:35 EST


Robert Crocombe wrote:
> I have an Opteron-based machine that has 1 Unibrain Fireboard 800 and
> 1 Indigita IDT804 card (4 separate 1394 controllers). Sometimes upon
> bus reset, one of the controllers is lost. By lost, I mean that
> debugging printouts in /var/log/messages which are usually prefixed
> "fw-hostXYZ" are gone.
[...]

IOW, ohci1394's bus reset handler is never called again.

Does this happen only if you reset all buses at once?
Does it only happen on the Indigita card or also on the Unibrain card?
Do the controllers share IRQs?
Does it happen if there is no transmission or reception going on?

It would be nice if you create an entry at bugzilla.kernel.org. If you
do, also add a link to an archive of this discussion, e.g.
http://lkml.org/lkml/2006/11/22/122 .

Maybe it's related to http://bugzilla.kernel.org/show_bug.cgi?id=6070
(use of msleep busy-wait loops in ohci1394's interrupt handler's
context). Whatever it is, the fact that you lose interrupt events only
after a bus reset & selfID complete event strongly indicates that there
is something wrong with the drivers' low-level bus reset handling. OTOH
I don't remember a similar report.

One thing you could try next is to add a debug logging macro which
prints the contents of OHCI1394_IntEventClear, OHCI1394_IntEventSet, and
OHCI1394_IntMaskSet, right after ohci1394's call to
hpsb_selfid_complete. (I'm merely poking in the dark here.)
--
Stefan Richter
-=====-=-==- =-== =-==-
http://arcgraph.de/sr/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/