Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp1892922ybn; Thu, 26 Sep 2019 03:55:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqxDxXgttXfYo6HSyJHOxfaJ+Z9L8ccNMIAVTNpXVpkHyPor7fLe0kNJFNEuP2dgpG+pQw/P X-Received: by 2002:a50:9eac:: with SMTP id a41mr2854243edf.193.1569495323368; Thu, 26 Sep 2019 03:55:23 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1569495323; cv=pass; d=google.com; s=arc-20160816; b=eCIKnjweGaAZlFdRvevwAkjs+Dcz+tZhPEHdaUO0HyQ+YkhEh5QrhYYoyYGxCtxaqq TcXPgoIVqwHoir0FSQMOp5jfL97IPOOVvs67s3IVjbEfoEi6aN1rllaKRWrkynSu4eVE xCH6k58zXdngqHheN7zj+EMTOqBB45ex0e0X2AsgHk0QrhlkOzhgl/ZkZygzPf9awr2G pOie7kvDLpVwpU4dzNKPtn9RDHqfz4XlFEhZPlNm4NbNfXxLE19bQaDMbBei9XUumlyo 597qpQjof+TLqdPS1Z/TL6to1Gi4Ct3M08k1+tGageFjp7YjxIWcCMi+pp8BPdVpo2e5 PusA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=joJMWMYl6OickdL6ydA4gp8/4e8Gr7ixcgLiqvj646c=; b=raVwUbHbkUilO6gWIu6UAddfFAss+zx69ik7mNeD5/uuYP0+JDW7F2QF7DR64Ms8xi +xLDxYB4pFVac5+qVWPF9RPsErh3wPTcceBBfD9UNpA6+bZb+cXLtsMqd2/AChl8Ilgt G8S5Auipa1eThLYBcB2CUsjYQCwIRPlF3XUtfA4EVR1hpgykCMP+WQ8hga9nUQ4/FPyn kID2XUFB7dBGf0XWCkT5JKLznnn0NtxTiAvFBvqgCk8PE5Jjr3vEXuaKfljnIZJDm/pn oCk1rC+UrK0BwwE4+9XRVnJbHPifvKxmhFb5xYcZuqk06nbBZal/XsVTaJ+3S7Ja3Y0d iZwA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@victronenergy.com header.s=selector2 header.b=LYi9R2q0; arc=pass (i=1 spf=pass spfdomain=victronenergy.com dkim=pass dkdomain=victronenergy.com dmarc=pass fromdomain=victronenergy.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=victronenergy.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l23si1017213eds.310.2019.09.26.03.54.59; Thu, 26 Sep 2019 03:55:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@victronenergy.com header.s=selector2 header.b=LYi9R2q0; arc=pass (i=1 spf=pass spfdomain=victronenergy.com dkim=pass dkdomain=victronenergy.com dmarc=pass fromdomain=victronenergy.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=victronenergy.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732078AbfIYI67 (ORCPT + 99 others); Wed, 25 Sep 2019 04:58:59 -0400 Received: from mail-eopbgr20117.outbound.protection.outlook.com ([40.107.2.117]:46101 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730048AbfIYI6u (ORCPT ); Wed, 25 Sep 2019 04:58:50 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mLJIkwBCAPJ7HVsjmxGn0Z19hzBUpXqaaz2heBSm08xQG//pqhmQL4UlyjCNu/7xAXJLv3VqS0HfIUm3/5TTWgY8zgGPCsA978tyxm8FoHS9MA3sb/XUDBhN/bodGbVwA+pafN+keIYzIFZJcB/bnCFpD29HZwBcW01APfn+Z6/VIq7dUlAiB1xVtoWeVAFhD7IO5inqNBJ521sjMuAU+Lmsvy28eB6NNKJeEclgeRaPcYkb6wFKAczZizpRttPi9Ay2Gc0vEddrdOckF1IGuY5LUEj6hYBIicvwVPJi8JYMamc5TQawAaESZ/wZwfMvII9WzUhEhmX7JMY+LC4z+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=joJMWMYl6OickdL6ydA4gp8/4e8Gr7ixcgLiqvj646c=; b=MrHI22tQbuk6bbk7jGwpfbLg7N/z3TxVv0Ub2UKkYJQGallPIb336WQDtcY+ijMSH3Nd6Id0g2szVIO1yVQXb+R58ddpFyw0rX1RtjhPEZxlY6K24gQzRIi5db0JAHVpfW2UDtg6YNN8HO63PQJc7BYEIU3haxfBrYLPM/HVA53baYxX1HdeOS6DwHs15tUSHtMBzCwa/u88l/IOnrZx2mKEv4f9OJR8Ww9jZAXJnojyAPadjnGx3vROw6pESIqmEXjU/bnpIxEC7hxqLxgr6Pcp81gQMnnGVVpVnouISW2Swt+QW+8bU2GmjQQnMW5G5Mygdmg7R57IjhsYBoKmpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=victronenergy.com; dmarc=pass action=none header.from=victronenergy.com; dkim=pass header.d=victronenergy.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=victronenergy.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=joJMWMYl6OickdL6ydA4gp8/4e8Gr7ixcgLiqvj646c=; b=LYi9R2q0LK+cOoIuls7dmMRytfo0Cq2RWNMZnDiH+Y+Z7IVP4sSaWm6uiivf2MUwjfVXxhIpmtYSBSGQU80qqFrt/xhF6fLgZDqeGuaDhA1bgdVwG3yhmcPMe1nCKgvsTpisGGCATF8mA05wpcKk8BzLHAE3HrNC6FEt7KtDxLo= Received: from VI1PR0701MB2623.eurprd07.prod.outlook.com (10.173.82.19) by VI1PR0701MB2095.eurprd07.prod.outlook.com (10.169.131.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.15; Wed, 25 Sep 2019 08:58:45 +0000 Received: from VI1PR0701MB2623.eurprd07.prod.outlook.com ([fe80::dc92:2e0d:561a:fbb1]) by VI1PR0701MB2623.eurprd07.prod.outlook.com ([fe80::dc92:2e0d:561a:fbb1%8]) with mapi id 15.20.2305.013; Wed, 25 Sep 2019 08:58:45 +0000 From: Jeroen Hofstee To: "linux-can@vger.kernel.org" CC: Jeroen Hofstee , Stephane Grosjean , Wolfgang Grandegger , Marc Kleine-Budde , "David S. Miller" , "Gustavo A. R. Silva" , Nicolas Ferre , Greg Kroah-Hartman , Thomas Gleixner , "open list:NETWORKING DRIVERS" , open list Subject: [PATCH] can: peakcan: report bus recovery as well Thread-Topic: [PATCH] can: peakcan: report bus recovery as well Thread-Index: AQHVc39v0tTWHby5B0usrbVxGOnW3Q== Date: Wed, 25 Sep 2019 08:58:45 +0000 Message-ID: <20190925085824.4708-1-jhofstee@victronenergy.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [213.126.8.10] x-clientproxiedby: AM4PR05CA0017.eurprd05.prod.outlook.com (2603:10a6:205::30) To VI1PR0701MB2623.eurprd07.prod.outlook.com (2603:10a6:801:b::19) authentication-results: spf=none (sender IP is ) smtp.mailfrom=jhofstee@victronenergy.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a9bd05d1-0421-426a-0ee6-08d74196923b x-ms-traffictypediagnostic: VI1PR0701MB2095: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3826; x-forefront-prvs: 01713B2841 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(4636009)(136003)(366004)(396003)(39850400004)(346002)(376002)(189003)(199004)(6486002)(3846002)(2501003)(316002)(71200400001)(8676002)(66476007)(66446008)(386003)(71190400001)(6506007)(8936002)(2351001)(66946007)(36756003)(2906002)(81166006)(64756008)(26005)(52116002)(25786009)(7416002)(50226002)(7736002)(186003)(86362001)(66556008)(66066001)(4326008)(5660300002)(81156014)(478600001)(6916009)(2616005)(476003)(5640700003)(54906003)(305945005)(102836004)(99286004)(256004)(6512007)(14454004)(14444005)(486006)(1076003)(6116002)(6436002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0701MB2095;H:VI1PR0701MB2623.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: victronenergy.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5WwiJFfoY91coQWmyHXbG3Y2ltBdvR76TNUgn7PSDZ6fBaoBRjb/2mWZEmx+CWGDO6L9+LEho9BY2khoFxeV5ITtaa5PQGEodEL/VGjCUeaXfhswoJJ80an/v6/Mo03XDhRtI7bQEjrdPwXeCSRcYrI/uHVwJkanc8/5VWkUraNP17oO7bq48JkKRfGDEVJ/erTpDjsJNvOyNrBhRAQ5u/iANWuomMzIIxaI+Cok/FiEzEqsNeOZvjhMUje7ooJ2kK6Btp42IS+bonD1kOyxoKvRychoxhwn1SkFpMQrR2EGtpaCaK5SXdliKsclfuRVsbFfEIPwNgagCOrggS6anaq1aki4CDDhvuhxLnzEnpRh3xyqkAC4CrNi0QkEBIGScjW3rT/78Zl92hoZkUbEJTDlsktfmCUxKJbapyk8DrU= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: victronenergy.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9bd05d1-0421-426a-0ee6-08d74196923b X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2019 08:58:45.2837 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 60b95f08-3558-4e94-b0f8-d690c498e225 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sN+I546nx7q3rU/9hiNhfI4y8rEMmKsCv1N4Yt3fYz0xZSsc3RSAhXFKw2zcRJt/cexsR/dVSmjFz4Eddr/q01HZY2i9PmROhFay51HB1cE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0701MB2095 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org While the state changes are reported when the error counters increase and decrease, there is no event when the bus recovers and the error counters decrease again. So add those as well. Change the state going downward to be ERROR_PASSIVE -> ERROR_WARNING -> ERROR_ACTIVE instead of directly to ERROR_ACTIVE again. Signed-off-by: Jeroen Hofstee Cc: Stephane Grosjean --- drivers/net/can/usb/peak_usb/pcan_usb.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/can/usb/peak_usb/pcan_usb.c b/drivers/net/can/usb/= peak_usb/pcan_usb.c index 617da295b6c1..dd2a7f529012 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb.c @@ -436,8 +436,8 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_co= ntext *mc, u8 n, } if ((n & PCAN_USB_ERROR_BUS_LIGHT) =3D=3D 0) { /* no error (back to active state) */ - mc->pdev->dev.can.state =3D CAN_STATE_ERROR_ACTIVE; - return 0; + new_state =3D CAN_STATE_ERROR_ACTIVE; + break; } break; =20 @@ -460,9 +460,9 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_co= ntext *mc, u8 n, } =20 if ((n & PCAN_USB_ERROR_BUS_HEAVY) =3D=3D 0) { - /* no error (back to active state) */ - mc->pdev->dev.can.state =3D CAN_STATE_ERROR_ACTIVE; - return 0; + /* no error (back to warning state) */ + new_state =3D CAN_STATE_ERROR_WARNING; + break; } break; =20 @@ -501,6 +501,11 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_c= ontext *mc, u8 n, mc->pdev->dev.can.can_stats.error_warning++; break; =20 + case CAN_STATE_ERROR_ACTIVE: + cf->can_id |=3D CAN_ERR_CRTL; + cf->data[1] =3D CAN_ERR_CRTL_ACTIVE; + break; + default: /* CAN_STATE_MAX (trick to handle other errors) */ cf->can_id |=3D CAN_ERR_CRTL; --=20 2.17.1