Re: ieee1394: host adapter disappears on 1394 bus reset

From: Stefan Richter
Date: Mon Nov 27 2006 - 13:26:47 EST


Robert Crocombe wrote:
> Okay, so the code looks like this now:
>
> DBGMSG("PhyReqFilter=%08x%08x",
> reg_read(ohci,OHCI1394_PhyReqFilterHiSet),
> reg_read(ohci,OHCI1394_PhyReqFilterLoSet));
>
> reg_read(ohci, OHCI1394_IntMaskSet);
>
> hpsb_selfid_complete(host, phyid, isroot);
>
> DBGMSG( "IntEventClear %08x "
> "IntEventSet %08x "
> "IntMaskSet %08x",
> reg_read(ohci, OHCI1394_IntEventClear),
> reg_read(ohci, OHCI1394_IntEventSet),
> reg_read(ohci, OHCI1394_IntMaskSet));

OK.

> this is in 2.6.16-rt29 which has proved to be the easiest to provoke.
> I actually couldn't get 2.6.18 to break earlier this morning (few
> hundred resets).

You could replace 2.6.16-rt29/drivers/ieee1394/ by drivers/ieee1394/
from 2.6.16.28 or later plus one of the patches from
http://me.in-berlin.de/~s5r6/linux1394/updates/2.6.16.x/ and see if it
makes a difference. But judging from the changes that went in, I would
be surprised if there was any improvement.

> Okay, I've lost host1 (on the Indigita), but this time the last print
> statement is:
>
> Nov 27 10:38:27 spanky kernel: ohci1394: fw-host1: IntEventClear
> 00000000 IntEventSet 04588000 IntMaskSet 818300f3
>
> just like all the other hosts. I can confirm that no bus reset
> handlers are called, and there are another 4,000 lines of statements
> from the other hosts after the last from host1.

This is strange. The mask has bus reset and self ID received events
switched on. There is nothing manipulating this mask besides the
interrupt handler and the initialization and shutdown routines. And if
I'm not mistaken, the interrupt handler does not run concurrently to
itself for the same chip.

Ingo et al, is the -rt patched kernel fundamentally different WRT
reentrance of interrupt handlers?
--
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/