From owner-freebsd-isdn Sun Mar 15 12:51:49 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id MAA28870 for freebsd-isdn-outgoing; Sun, 15 Mar 1998 12:51:49 -0800 (PST) (envelope-from owner-freebsd-isdn@FreeBSD.ORG) Received: from rvc1.informatik.ba-stuttgart.de (rvc1.informatik.ba-stuttgart.de [141.31.112.22]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id MAA28861 for ; Sun, 15 Mar 1998 12:51:44 -0800 (PST) (envelope-from helbig@Informatik.BA-Stuttgart.DE) Received: (from helbig@localhost) by rvc1.informatik.ba-stuttgart.de (8.8.8/8.8.5) id VAA00554 for freebsd-isdn@FreeBSD.ORG; Sun, 15 Mar 1998 21:51:23 +0100 (MET) From: Wolfgang Helbig Message-Id: <199803152051.VAA00554@rvc1.informatik.ba-stuttgart.de> Subject: Re: i4b-L1-F_ill:What is this? In-Reply-To: <199802241233.NAA00376@cat.turbocat.de> from David Wetzel at "Feb 24, 98 01:33:58 pm" To: freebsd-isdn@FreeBSD.ORG Date: Sun, 15 Mar 1998 21:51:21 +0100 (MET) X-Mailer: ELM [version 2.4ME+ PL30 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, Now and then, depending on the configuration, the layer-1 finite state machine seems to try an illegal state transition. This is because the driver tries to mirror the FSM built into the ISAC chip. If the FSM is switching to fast some intermediate transitions might not be reported to the driver. The last transition then makes the driver think something bad has happened. This patch takes this into account. I surely hope this to be the last change in i4b_l1fsm.c for a while. If anyone sees something illegal in layer 1 *or* if you see a loop of TEI-ID requests and timeouts after applying this patch please report. This diff is against i4b-00.50 from March 13th. Wolfgang --- /home/helbig/src/i4b/layer1/i4b_l1fsm.c Thu Mar 12 14:26:25 1998 +++ layer1/i4b_l1fsm.c Sun Mar 15 11:38:58 1998 @@ -412,11 +412,11 @@ /* EVENT: */ /* indications */ /* EV_PU */ {{F_PU1, ST_F4}, {F_PU2, ST_F4}, {F_PU2, ST_F3b}, {F_PU2, ST_F3b}, {F_PU2, ST_F3b}, {F_PU2, ST_F3b}, {F_PU2, ST_F3b}, {F_PU2, ST_F3b}, {F_ill, ST_ILL}}, -/* EV_DR */ {{F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_ill, ST_ILL}}, -/* EV_RS */ {{F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_ill, ST_ILL}, {F_RS2, ST_F8}, {F_RS2, ST_F8}, {F_NcNa, ST_F8}, {F_ill, ST_ILL}}, -/* EV_AR I2 */ {{F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ARD1, ST_F6}, {F_ill, ST_ILL}, {F_ARD2, ST_F6}, {F_ARD3, ST_F6}, {F_ill, ST_ILL}}, -/* EV_A8 I4 */ {{F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_AI81, ST_F7}, {F_AI82, ST_F7}, {F_ill, ST_ILL}, {F_AI82, ST_F7}, {F_ill, ST_ILL}}, -/* EV_A1 I4 */ {{F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_ill, ST_ILL}, {F_AI11, ST_F7}, {F_AI12, ST_F7}, {F_ill, ST_ILL}, {F_AI12, ST_F7}, {F_ill, ST_ILL}}, +/* EV_DR */ {{F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_DR, ST_F3c}, {F_ill, ST_ILL}}, +/* EV_RS */ {{F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_RS1, ST_F5}, {F_RS2, ST_F8}, {F_RS2, ST_F8}, {F_RS2, ST_F8}, {F_NcNa, ST_F8}, {F_ill, ST_ILL}}, +/* EV_AR I2 */ {{F_ARD1, ST_F6}, {F_ARD1, ST_F6}, {F_ARD1, ST_F6}, {F_ARD1, ST_F6}, {F_ARD1, ST_F6}, {F_ill, ST_ILL}, {F_ARD2, ST_F6}, {F_ARD3, ST_F6}, {F_ill, ST_ILL}}, +/* EV_A8 I4 */ {{F_AI81, ST_F7}, {F_AI81, ST_F7}, {F_AI81, ST_F7}, {F_AI81, ST_F7}, {F_AI81, ST_F7}, {F_AI82, ST_F7}, {F_ill, ST_ILL}, {F_AI82, ST_F7}, {F_ill, ST_ILL}}, +/* EV_A1 I4 */ {{F_AI11, ST_F7}, {F_AI11, ST_F7}, {F_AI11, ST_F7}, {F_AI11, ST_F7}, {F_AI11, ST_F7}, {F_AI12, ST_F7}, {F_ill, ST_ILL}, {F_AI12, ST_F7}, {F_ill, ST_ILL}}, /* EV_DI */ {{F_ill, ST_ILL}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_DID, ST_F3a}, {F_ill, ST_ILL}}, /* something else */ /* EV_T3 */ {{F_NcNa, ST_F3a}, {F_NcNa, ST_F3b}, {F_NcNa, ST_F3c}, {F_T3ex, ST_F3c}, {F_T3ex, ST_F3c}, {F_T3ex, ST_F3c}, {F_ill, ST_ILL}, {F_T3ex, ST_F3c}, {F_ill, ST_ILL}}, To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message