From owner-freebsd-isdn Fri Jan 24 3:38:30 2003 Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9327837B401 for ; Fri, 24 Jan 2003 03:38:28 -0800 (PST) Received: from mailout03.sul.t-online.com (mailout03.sul.t-online.com [194.25.134.81]) by mx1.FreeBSD.org (Postfix) with ESMTP id 90B4243E4A for ; Fri, 24 Jan 2003 03:38:27 -0800 (PST) (envelope-from garyj@jennejohn.org) Received: from fwd10.sul.t-online.de by mailout03.sul.t-online.com with smtp id 18c2AD-0006rP-05; Fri, 24 Jan 2003 12:38:25 +0100 Received: from peedub.jennejohn.org (520017439985-0001@[217.235.117.132]) by fmrl10.sul.t-online.com with esmtp id 18c29u-0gpVIWC; Fri, 24 Jan 2003 12:38:06 +0100 Received: from peedub.jennejohn.org (localhost [127.0.0.1]) by peedub.jennejohn.org (8.12.6/8.11.6) with ESMTP id h0OBbp6e003767; Fri, 24 Jan 2003 12:37:52 +0100 (CET) (envelope-from garyj@peedub.jennejohn.org) Message-Id: <200301241137.h0OBbp6e003767@peedub.jennejohn.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.3 To: "Ari Suutari" Cc: "G Hasse" , freebsd-isdn@FreeBSD.ORG Subject: Re: Problem with "no bufferspace" - solution Reply-To: Gary Jennejohn In-reply-to: Your message of "Fri, 24 Jan 2003 10:47:12 +0200." <00dd01c2c385$308ba500$2508473e@coffee> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 24 Jan 2003 12:37:51 +0100 From: Gary Jennejohn X-Sender: 520017439985-0001@t-dialin.net Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org "Ari Suutari" writes: > Hi, > > Here is a patch that works for me. The only problem is that > I got following message to console: > > Jan 24 10:33:04 test /kernel: isp1: lcp illegal down in state starting > > when dialing fails. Maybe something else than > sp->pp_down should be used to close down sppp layer. > However, the sppp layer returns to idle state and > new ping tries to dial again. > The LCP is most probably still in STATE_INITIAL since no data were ever exchanged with the other end. I recommend something like this (this is not a diff! I just added code here): > Ari S. > > *** i4b_isppp.c.orig Wed Apr 24 21:45:24 2002 > --- i4b_isppp.c Fri Jan 24 10:32:32 2003 > *************** > *** 614,619 **** > --- 614,620 ---- > i4bisppp_dialresponse(int unit, int status, cause_t cause) > { > struct i4bisppp_softc *sc = &i4bisppp_softc[unit]; > + struct sppp *sp = &sc->sc_if_un.scu_sp; struct ifnet *ifp = &sp->pp_if; > > NDBGL4(L4_ISPDBG, "isp%d: status=%d, cause=%d", unit, status, > cause); > > *************** > *** 628,633 **** > --- 629,639 ---- > while((m = sppp_dequeue(&sc->sc_if)) != NULL) > m_freem(m); > } /* taken from spp_lcp_down */ if ((ifp->if_flags & (IFF_AUTO | IFF_PASSIVE)) == 0) if_down(ifp); else { sp->pp_flags &= ~PP_CALLIN; #if 0 /* we assume STATE_INITIAL here! */ /* these lines kept for information only */ if (sp->state[IDX_LCP] != STATE_INITIAL) lcp.Close(sp); #endif ifp->if_flags &= ~IFF_RUNNING; } > } > } > Get the idea? --- Gary Jennejohn / garyj@jennejohn.org gj@freebsd.org gj@denx.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message