Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp340970pxb; Wed, 18 Nov 2020 06:04:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJxahOQL1/uLDrQB65nCqiICoYF13udagcNGMkyAAMdGV6qb0O3ey6mFFdTuRF6xoTqfltGw X-Received: by 2002:aa7:d3c3:: with SMTP id o3mr26957383edr.319.1605708266791; Wed, 18 Nov 2020 06:04:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605708266; cv=none; d=google.com; s=arc-20160816; b=HbFXQ3KPs3woWXSpKK7dSsAeH/zYTutoHXInRsqodtlnhBUsT6xe5nIR5Z9MTRudSD P75BjZdH7R2Bzec0L3Ln++vtAhA6Hun0sAMbtiEMFio/P4Nm+9G0fM83S65Kh2WhLk+5 wiDJZhoibqhE9Q5y3tw2lr03s+JSy/H0E0cN+Rd5zD2Sfuzfu6rzR8EOrL6iL8LIzIHL LjomFsBq3TXLsyTjhQ/c/CYCbRyuNvuaPm3wdNRPezpWPWBvF8l+MeUVTg3/z6u7GecJ 23sAfc6PvhALy6g96xR16BENXHKgj5NMhF1S4ccgLWyIBL4DoH0F4unX2DvN2gxPGrzL D/Mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=nQ+Z3+8vEP/giekYEIrRr8q1yQNXrn7131gdqEScwp0=; b=u92+TJmm12Az4NzXIDB8yroV+vhnqgInMvz+yZ4dZ8Q6qYaq8D650WalXcvvKTfsY6 IIfCgUt0VMwW9/CY9o3gitUWX3KfXWF/uYbrNWI26IJtEmnIeP2Pt9zKE3YMnYttOPBK fni596sopnB8M6TgeWCp59dGbJ0aIAeONjWvhQC11e+Ja+afACTiAsIYqe2UeoYR+AsL 3sC/MgzU9Gyhnn/nFzsH1/WnsvPx/EPQWThxoeBBKMqrzX1mRAJ9gbujqqgKizirCiXE Ams/R4s2VoR8ZNF75+prBaiTqWR2b22otyRcK2pV1mk/mltKWzVgMQPK2Xwhyp8YXEiP YX5g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r4si3532454edc.537.2020.11.18.06.04.04; Wed, 18 Nov 2020 06:04:26 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726810AbgKROAH (ORCPT + 99 others); Wed, 18 Nov 2020 09:00:07 -0500 Received: from mxout70.expurgate.net ([194.37.255.70]:35239 "EHLO mxout70.expurgate.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725790AbgKROAG (ORCPT ); Wed, 18 Nov 2020 09:00:06 -0500 Received: from [127.0.0.1] (helo=localhost) by relay.expurgate.net with smtp (Exim 4.90) (envelope-from ) id 1kfO0A-0001gE-KN; Wed, 18 Nov 2020 15:00:02 +0100 Received: from [195.243.126.94] (helo=securemail.tdt.de) by relay.expurgate.net with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90) (envelope-from ) id 1kfO09-0002og-Sz; Wed, 18 Nov 2020 15:00:01 +0100 Received: from securemail.tdt.de (localhost [127.0.0.1]) by securemail.tdt.de (Postfix) with ESMTP id 6E30E240041; Wed, 18 Nov 2020 15:00:01 +0100 (CET) Received: from mail.dev.tdt.de (unknown [10.2.4.42]) by securemail.tdt.de (Postfix) with ESMTP id E5735240040; Wed, 18 Nov 2020 15:00:00 +0100 (CET) Received: from mschiller01.dev.tdt.de (unknown [10.2.3.20]) by mail.dev.tdt.de (Postfix) with ESMTPSA id BE35B20370; Wed, 18 Nov 2020 15:00:00 +0100 (CET) From: Martin Schiller To: andrew.hendry@gmail.com, davem@davemloft.net, kuba@kernel.org, xie.he.0141@gmail.com Cc: linux-x25@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Martin Schiller Subject: [PATCH net-next v3 3/6] net/lapb: handle carrier loss correctly Date: Wed, 18 Nov 2020 14:59:16 +0100 Message-ID: <20201118135919.1447-4-ms@dev.tdt.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201118135919.1447-1-ms@dev.tdt.de> References: <20201118135919.1447-1-ms@dev.tdt.de> MIME-Version: 1.0 X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.dev.tdt.de Content-Transfer-Encoding: quoted-printable X-purgate-type: clean X-purgate: clean X-purgate-ID: 151534::1605708002-00000FB8-B0D9A28E/0/0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In case of carrier loss, clear all queues, enter state LABB_STATE_0 and stop all timers. By setting rc =3D LAPB_NOTCONNECTED, the upper layer is informed about th= e disconnect. Signed-off-by: Martin Schiller --- net/lapb/lapb_iface.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c index 8dd7c420ae93..017bc169c334 100644 --- a/net/lapb/lapb_iface.c +++ b/net/lapb/lapb_iface.c @@ -303,6 +303,18 @@ int lapb_disconnect_request(struct net_device *dev) if (!lapb) goto out; =20 + if (!netif_carrier_ok(dev)) { + lapb_dbg(0, "(%p) Carrier lost!\n", lapb->dev); + lapb_dbg(0, "(%p) S%d -> S0\n", lapb->dev, lapb->state); + lapb_clear_queues(lapb); + lapb->state =3D LAPB_STATE_0; + lapb->n2count =3D 0; + lapb_stop_t1timer(lapb); + lapb_stop_t2timer(lapb); + rc =3D LAPB_NOTCONNECTED; + goto out_put; + } + switch (lapb->state) { case LAPB_STATE_0: rc =3D LAPB_NOTCONNECTED; --=20 2.20.1