From patchwork Fri Jul 8 18:12:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911598 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3E8B5CCA482 for ; Fri, 8 Jul 2022 18:14:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238544AbiGHSOG (ORCPT ); Fri, 8 Jul 2022 14:14:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238970AbiGHSOA (ORCPT ); Fri, 8 Jul 2022 14:14:00 -0400 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80111.outbound.protection.outlook.com [40.107.8.111]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4C0035F9E; Fri, 8 Jul 2022 11:13:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TFwWeQSkUMVQWtdrnT28X5OvCpKV4UhOUnnkipBUv1r7PTkZqD8gxU1p5Z07fJrNw9DDbMma2gl/CrR+BO6eEJQooMb2RFgRgneprFAJz26rTDvKQ9kLuVDf4zouM3UzjJwOm3cjxbUtPuDryyZhO9YTlFuOJFAEPLgcUS6jMWZGmdD4QgGy+ttafIoyoI94Rg2kRz/n6nQzFwUIwLJfEXBIA/vM1xUe8ZUYwJObXxwJETaF5AkSmOiPzahut8DetoGaAqQbjkhKpFNQ8CAen0H7WS9uGRsHz9rmAvuPI5vL9/D4cLidBTSHWqEbww4x7oy8fHLyBx98JeHB6suSEQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L9NqPmP7WGzHIQn4XyWfha2Si/1vITyeN4aZWuQ9hNM=; b=RYCEVqJU/ZWcXazVbXkplwquvgbGczQ79a70b4WBADrSd5HeB7PQ4AFzCOj8GAKClvD2o5tmqusG0EK5hj83OBK9Tk7LIM9wJoV67yG51mjuLPaJ/LXgonRny7OQXV8TZT61ckdVUiN88iT+z2pHsEkohjCfyIOdqrt4D1w3hHx86XTXjTbvHHv1HjFjLFuQFrA8KscmLnK0P/AxAwwQTnPdis/N5x+RKqJ6CdHtfNMf3/Bhrp8T58psgTEO2PK09UiNLVSk6iEgYQrymQWbTMPzTBKjwjm9LAqRPGZOugnz6C/CO/Tw+pl1PUuDzm7Alt/COgyWSn8V8A8oIP78aQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L9NqPmP7WGzHIQn4XyWfha2Si/1vITyeN4aZWuQ9hNM=; b=grAN8tfHDhRZ1z82fqN6vpeDGwP0aZ58klIzvofX+optqJViCaeUbIU9g2v9HYXjVloG0U/75mradbs9MuPpTl7IfPltfUVcofPMxZmQHsI8hieGo0aSj78W9I/fMq6sIYeANPvnwCYMc0giYBLMhD5iUzSY+pPN2/HdYT4hM58= Received: from FR3P281CA0021.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::11) by AM4PR0302MB2722.eurprd03.prod.outlook.com (2603:10a6:200:94::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.21; Fri, 8 Jul 2022 18:13:55 +0000 Received: from VI1EUR06FT058.eop-eur06.prod.protection.outlook.com (2603:10a6:d10:1c:cafe::e7) by FR3P281CA0021.outlook.office365.com (2603:10a6:d10:1c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.6 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by VI1EUR06FT058.mail.protection.outlook.com (10.13.6.196) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id BE11D7C16C5; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 6DA1F2E01E2; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 1/6] can: esd_usb: Allow REC and TEC to return to zero Date: Fri, 8 Jul 2022 20:12:32 +0200 Message-Id: <20220708181235.4104943-2-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6320a449-7063-413b-02bd-08da610d9eb5 X-MS-TrafficTypeDiagnostic: AM4PR0302MB2722:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Wz96wnd7GwaL6dL/Jugh5lwA+CTsA4Q8WurmHhID1kwjVBAkoenmQRoq2mNjmFxEWFBFcWGSwyG4uxyco22yCkfsOP8EPB+YPKA4yChBDC6qsiiYqXkj0yntMHI/+hdbHzcItDUO0qmiKnSHiq3fFp//tsp3Bv7PTmkkczeSPmZjw3aojyhyMzjPw92qbdlDNgb0KrN70AaWLiLsxyt2Hp/MgkEcBkUzNT2W925EPr2QYNlX1na4KFjEhxNP6uWRowuyUYUDZCROI1SEJxBx3xjBoGHQeSmJF7eNo7lPbLLL2A99rObOZO535+dIiwFkOHFypGgrMDhZJ3s6PeOqjJqvL41+wn/YdeRwuUOHBxyh0VunlXzze1kDCewOnYNMStgmQSiup0GwkUXC33RJOOiU1t10F4MLpzT4401F9vpUkAgXMBAYr2E3rheGYE1O78Owk4sfUkegC3AIY4dZ7sJRagRHO4okHptHj7T7rzP3TgY3MpJGF/WQH25oVygwWLFLuiToOWeQmyz6rWWHqSX5mBZlEyNQ45CXf4khf5AgiYhRlsY9SQa+J58jnk88jHZTeSVkTUamwejxjN6QKxSu2NK6XPUFhVi5jRU2fPCyyk8x/gBDqyrw9wGvVPItH82UxIz6zsFJ4zeQoFFNiwkDI6U7sueXmc4v5mARJ0PiYbhESEri5g+VZXjgzLPtAYBe5Q7wqZ4pnf0FvzuCpKVVOGHQIaDHk+UTjvXQR+bwYrNtyjUc371a6uthjNy+6533KplIzxl3niP1+Cylijf4Dyvl3t3FGzfgZsevH8I= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(376002)(39830400003)(396003)(346002)(136003)(36840700001)(46966006)(36860700001)(86362001)(5660300002)(186003)(47076005)(336012)(83380400001)(2616005)(26005)(6266002)(36756003)(356005)(1076003)(81166007)(54906003)(41300700001)(70586007)(478600001)(110136005)(6666004)(316002)(42186006)(70206006)(4326008)(8676002)(2906002)(44832011)(40480700001)(8936002)(82310400005);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:55.0541 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6320a449-7063-413b-02bd-08da610d9eb5 X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR06FT058.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0302MB2722 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org We don't get any further EVENT from an esd CAN USB device for changes on REC or TEC while those counters converge to 0 (with ecc == 0). So when handling the "Back to ACTIVE"-event force txerr = rxerr = 0, otherwise the berr-counters might stay on values like 95 forever ... Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 8a4bf2961f3d..0b907bc54b70 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -229,10 +229,14 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, if (id == ESD_EV_CAN_ERROR_EXT) { u8 state = msg->msg.rx.data[0]; - u8 ecc = msg->msg.rx.data[1]; + u8 ecc = msg->msg.rx.data[1]; u8 rxerr = msg->msg.rx.data[2]; u8 txerr = msg->msg.rx.data[3]; + netdev_dbg(priv->netdev, + "CAN_ERR_EV_EXT: dlc=%#02x state=%02x ecc=%02x rec=%02x tec=%02x\n", + msg->msg.rx.dlc, state, ecc, rxerr, txerr); + skb = alloc_can_err_skb(priv->netdev, &cf); if (skb == NULL) { stats->rx_dropped++; @@ -259,6 +263,15 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, break; default: priv->can.state = CAN_STATE_ERROR_ACTIVE; + /* We don't get any further EVENT for changes on + * REC or TEC while converging to 0, once we are + * back on ACTIVE. + * So force txerr = rxerr = 0, otherwise the + * berr-counters might stay on values like + * 95 forever ... + */ + txerr = 0; + rxerr = 0; break; } } else { @@ -292,6 +305,7 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, CAN_ERR_CRTL_TX_PASSIVE : CAN_ERR_CRTL_RX_PASSIVE; } + cf->data[6] = txerr; cf->data[7] = rxerr; } From patchwork Fri Jul 8 18:12:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911595 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ABB1C433EF for ; Fri, 8 Jul 2022 18:14:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238717AbiGHSOD (ORCPT ); Fri, 8 Jul 2022 14:14:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238770AbiGHSN6 (ORCPT ); Fri, 8 Jul 2022 14:13:58 -0400 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20112.outbound.protection.outlook.com [40.107.2.112]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38E672F38B; Fri, 8 Jul 2022 11:13:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jS0j1puwOm6CWBAXptdRFluqAEr6gnqh8ivy69Ie+4OOSvO8K+JXM4DH72bNqtbOHR7sfybhB71kdJhyRdkkNH7z/dYkD3PHFZr7D5OUk4B7gQK6WiQXId91ZkuFHXMcoRgqmLtaShCkCsLT8k8jEyBNp6mydFh2pgI9kLKc4o8kxYyyU96HP6l9R9jCBYeVQUxrRNMiOplJChZOaCRfdELWN1ulWuVp7ppEr4OaLN7Uo7qnxA2sGd/o/2rLcwojzi0uNqJIuel+H8Nk8YBmmi7iLTzFjFNVFUTii4+RaqAMjBgXkUCIEC5JKvGU0mjn2nrN5KP6nBgyhKEO09AiLQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KyfcjNMaO074Z9iej/qtxIghLMYz7YYj0PTbLR1XhhI=; b=Im9OEfE1OSPpLqv9iFGuv0ExVe9S9guBiD+wvtSQdGdxQ5kTMfZCidATj2ddRukkw4pPbvKu8Tea+iWFsoS38CAwmeTgNUnbTgO0Iz9P+gEfQvbVSEjx9mrcMBhwy48BIcplqTrr6OuAfKT2rPDG1bIDFEtQm3TPmk3HfW4wowV5Os0xTLN4yeO94ce/zO8c9nLkPJqbwV0/8u/bQdqQEMaEDQ5hhz9TwDP5lv9CMTimo3QLtkHoHepXF1VhczvDuSR+SZCfPdO1FmytkHwvBOt/6CTbmZ6yagA7qGRLWT9BJau/AqclWrNUcJLhFyhg5kYQIP0f1R3pt/MaiIJewA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KyfcjNMaO074Z9iej/qtxIghLMYz7YYj0PTbLR1XhhI=; b=RpfAdL51nD7Vkb/7GJIGEL1NBEgCBUuwGerb8k+nT0AAmP7vIlluy0OgDZ4OUv2lW34+6BSkjHBhS2GZL97cJQlRqwxF04I0JG8yih+gwK85ubrYcb+1wquGiEimdMOv0IN+y7Qces5iA3PtXRUI4tRu6NikbnAhXQ7vi9hmgD4= Received: from DB6PR0601CA0024.eurprd06.prod.outlook.com (2603:10a6:4:7b::34) by AS8PR03MB6805.eurprd03.prod.outlook.com (2603:10a6:20b:29b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Fri, 8 Jul 2022 18:13:55 +0000 Received: from DB8EUR06FT020.eop-eur06.prod.protection.outlook.com (2603:10a6:4:7b:cafe::84) by DB6PR0601CA0024.outlook.office365.com (2603:10a6:4:7b::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by DB8EUR06FT020.mail.protection.outlook.com (10.233.253.6) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:54 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id BCBB47C162F; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 7014C2E01E3; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 2/6] can: esd_usb: Improved behavior on esd CAN_ERROR_EXT event (1) Date: Fri, 8 Jul 2022 20:12:33 +0200 Message-Id: <20220708181235.4104943-3-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4a758cd8-76eb-4bfc-4640-08da610d9eab X-MS-TrafficTypeDiagnostic: AS8PR03MB6805:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 11x27+snP6htArvFo6W6nxbyvZxpGHTWFxpka03/A4vVE0PBaT1dUBmfNoK1fYf6KXnxDZxysFU1enW8vOuex+B4ZPpJOAzM35TyMrz2IQm21936mpefVrdINtkAelduAS/4tMrZquHFvn/1AwXfaXgfSxXjkPkv+TeRoUoKUxumefS0uu+oN2C72QKq8QklfbvQ8hZez/WLtxA9X/MTOVF7I07CR4mZVm701OY75h6Ll4yv5WrexkE+ba32VreA+r75TVyD67+vWx2Tvfb2Zg2SEUs+as+wVfZ+K5TQmlXe1hOWIMCxxJn4FsZKENoJKkT4F/fOBBpM2j6nGrC7TVdHONw+gLvdi5BdZinCtLS4LPUHLocYy26UxkvA59xD1A0TSovjjWKybt4jafD56Bcdv4MgW/eukY9aTGtPzu4kZG2NZxNee2Iqj0BinI8fBl2C8PrX0nSdIvtNkJjc/zz/psiQCKRUmqFNaLnMwUF0d17CNJxsV/ZUpqr6+UThOYyhSO+b8uApfuUyE3mpK9TWLo7PjEFEpr2J+/5TRzekKd5KedFEhHcsvj6Z3mJLRwadZ8rzVUMkAvn89WSxwfBM2xfg8M8qccTV6nokXPW4BIReT9GZOlXJ+iqeExfe1sNKbDgo//Gs8MlcsUA1WbMMKiUuspMnMDcqM0q1Fp3WEhE8W+/DUjhIBedhVoLoueEOxjtqvIn+6qz4Ujt1ipic+nqKFodRhGtcGVG5Ffjh1+R480kJKCMVgmGrzxfC8/PA0dGUxz4oPShi5Xw9y2LnmpXDYjw5mMjhzdQk4X0= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(396003)(136003)(346002)(376002)(39830400003)(36840700001)(46966006)(83380400001)(1076003)(186003)(5660300002)(2616005)(356005)(2906002)(47076005)(4744005)(36860700001)(44832011)(8936002)(40480700001)(36756003)(336012)(42186006)(54906003)(478600001)(41300700001)(6666004)(4326008)(26005)(86362001)(82310400005)(81166007)(8676002)(70586007)(6266002)(316002)(110136005)(70206006);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:54.9746 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4a758cd8-76eb-4bfc-4640-08da610d9eab X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR06FT020.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6805 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Always report CAN_ERR_PROT | CAN_ERR_BUSERROR if ESD_EV_CAN_ERROR_EXT and ecc != 0. Before we missed those EVENTs when state was unequal to priv->old_state Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 0b907bc54b70..e14f08d30b0b 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -274,12 +274,15 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, rxerr = 0; break; } - } else { + } + + if (ecc) { priv->can.can_stats.bus_error++; stats->rx_errors++; cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; + /* Store error in CAN protocol (type) in data[2] */ switch (ecc & SJA1000_ECC_MASK) { case SJA1000_ECC_BIT: cf->data[2] |= CAN_ERR_PROT_BIT; From patchwork Fri Jul 8 18:12:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911599 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA2B5CCA47B for ; Fri, 8 Jul 2022 18:14:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239092AbiGHSOK (ORCPT ); Fri, 8 Jul 2022 14:14:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239057AbiGHSOG (ORCPT ); Fri, 8 Jul 2022 14:14:06 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2091.outbound.protection.outlook.com [40.107.22.91]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10DC233E09; Fri, 8 Jul 2022 11:14:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=c36j7nF5MfZ0EZIoCTgCIJISnGdQl9e/lDna6FPJwS/71+Cdkjwwt0wnpQmHaVGneXK8DREl6afOAgyMv/a0M3U11REp0f+RnmUoxn9DXQCzZmW8QkIy59G2PjJXRdr08MAMkxfCQK3j+o/e2bOtKci4RQjtEhPA6ZLW6ssHBc1Txd6TOCmmJztKeD14jbdKN40zv6OMaiR1IhsbRDjfzyDLLz5d01oFHdRP+BmsHZKSElecKbMol0ekeaPqgJ9paxVF0Ufx5x9WdHgmvOYctdbnZIT1hz31ruVHcPSitMF0YHVR3hqIzTtB9vpZGWRJkkJP/zWwlKDoHYInT07iTQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dvuM3aNdc9VgHm1I1aWvm9euqEbRSIgw7Pvti2VEZdc=; b=D01WJFGq8Dyd4ybNnXk/pO/FBQviecgbQOPYcycai/qzzfsF3209mtGBxL/ZPC0vcdRTdDjD5g60jSmRfE/8hdypRkPydQyyPA/Wy+Aqcdm3Mk0sSrEmSxDH6Vuh8HNkVEpdHBoyEH/SdUZKMGzZNfEJMVBkMrHC9ZAbxsLis6AgSdULWRC4AUYAmuB1nzRpZ+4ZHNnm6QO0bs7D+YoPquG659aoMBw+MuNPGQDOJtt4kLuRfhKMXPzmxZKSNNLnatcm1tjoGRmTH74oXSKABEoDxz0vd+7j+LvahKqnegI8Vdo4mjN46Oj89tPvZrX67pVua2yYr6R3TbgCmCM5SQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dvuM3aNdc9VgHm1I1aWvm9euqEbRSIgw7Pvti2VEZdc=; b=NJIxuAfJtqu5GbhT2oQtV/jbKqjE/LI0RnY4Cf71CJ5t/99ZMvnNlG66M8ODUSiUxa0OyRdM5uvUcz9vRfbHlJLhnXA39NGmD7Dcvfz4uj96XQpEnqwLjXSI3ubBaCb1ZJQFmokH+Jgz13e2joAz8UBTP1EHhZmvUUHONdoqrWg= Received: from DU2PR04CA0025.eurprd04.prod.outlook.com (2603:10a6:10:3b::30) by VI1PR03MB4510.eurprd03.prod.outlook.com (2603:10a6:803:5c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15; Fri, 8 Jul 2022 18:13:55 +0000 Received: from DB8EUR06FT035.eop-eur06.prod.protection.outlook.com (2603:10a6:10:3b:cafe::3c) by DU2PR04CA0025.outlook.office365.com (2603:10a6:10:3b::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by DB8EUR06FT035.mail.protection.outlook.com (10.233.253.35) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:54 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id BF0317C16C8; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 727782E01E4; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 3/6] can: esd_usb: Improved behavior on esd CAN_ERROR_EXT event (2) Date: Fri, 8 Jul 2022 20:12:34 +0200 Message-Id: <20220708181235.4104943-4-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78e0b1ab-898f-4281-6704-08da610d9ead X-MS-TrafficTypeDiagnostic: VI1PR03MB4510:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VmKuCegfX41I/A8A04JaxO2xnhxP5JqUiqTjd1CHQ5+u+c1mqr5fqV2FGWNZJZojeYXwLDJ7bGhIM7GFRRBo7mS0iNIsyX3bqWwOz1DmyJ0C7vNfzQEreXXXPH2aIv8bdksIbJNY9vWcPqTyFuiTdBnrIvWjGdIGTvu0Joc70/6TzvJiHa9aiNHXBlIwOoYMg5qRPGM8dbsVznDGKDNT/iALkA3XQt/OCIWsUf9dqEv2WSJk9OEoejgypIlovySkR7T2RiUDL2NLI70E8Fg5fTohQIs0raKGIs7UzA2y/7vI7suk5SeIsR+egAjm0fed8Y9pu9UL73NxsDJvFWtyrM668J0ICnz4nIJdJGMVWUqogFN7hVPvocysiih3Ujq38tQXKlirctaSTPrxRfZO80v+0f4YEE2uNCOdvRc4Z/3n22ql5eYOEBETGNbOmwSMALL3DRFperpR5iwaQ7bN2XAUt4MBe7QXGboVl1bGhMb9kFpeMoDD6nKSyahfatzOXDhiP8NAyJazoKS86GAIydpF/uwkCwlVHb8nItWV9bUEL0GwIJLSzJFPF2BjnWrBg8Fd+Fwg+hg2VzPKF7Q9wh4UTjSexOmuVyQqkc2ffuUmADdE5OVfC+yeGzAPRxsGEFUuEil8vtADVlc68PhhTawJGXP/yH+XIVVIcik3EudqvTW0CCJObJo0p3KD8oV97IREeAQnNSGHKQDPahWIl1ZT6T4uFmKGPVkleLvahOvHjHhf4Qnnj86avWztZeB4ToPMC2lDyjIkFlnn+DoMRxL45Vx8+qdfaOpnmZVKxT0= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(346002)(396003)(39830400003)(136003)(376002)(36840700001)(46966006)(42186006)(110136005)(316002)(36860700001)(82310400005)(54906003)(186003)(26005)(47076005)(36756003)(6266002)(83380400001)(336012)(70206006)(4326008)(2906002)(8676002)(5660300002)(478600001)(86362001)(1076003)(70586007)(81166007)(44832011)(41300700001)(6666004)(356005)(2616005)(8936002)(40480700001);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:54.9886 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 78e0b1ab-898f-4281-6704-08da610d9ead X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: DB8EUR06FT035.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB4510 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Moved mislocated supply for cf->data[3] (location of CAN error) outside of the "switch (ecc & SJA1000_ECC_MASK){}"-statement Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index e14f08d30b0b..0a402a23d7ac 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -294,7 +294,6 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, cf->data[2] |= CAN_ERR_PROT_STUFF; break; default: - cf->data[3] = ecc & SJA1000_ECC_SEG; break; } @@ -302,6 +301,9 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, if (!(ecc & SJA1000_ECC_DIR)) cf->data[2] |= CAN_ERR_PROT_TX; + /* Store error in CAN protocol (location) in data[3] */ + cf->data[3] = ecc & SJA1000_ECC_SEG; + if (priv->can.state == CAN_STATE_ERROR_WARNING || priv->can.state == CAN_STATE_ERROR_PASSIVE) { cf->data[1] = (txerr > rxerr) ? From patchwork Fri Jul 8 18:12:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911594 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C410CCA482 for ; Fri, 8 Jul 2022 18:14:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238931AbiGHSOA (ORCPT ); Fri, 8 Jul 2022 14:14:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35290 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238518AbiGHSN6 (ORCPT ); Fri, 8 Jul 2022 14:13:58 -0400 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70095.outbound.protection.outlook.com [40.107.7.95]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CEB312F387; Fri, 8 Jul 2022 11:13:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P5dXarpGEJQtlFYuQ4UmZ0xLoz37tNLHJHnq76jg0sPzAkdLC+95emCxriEk0OJrC2oC7yK69JOOUH6Mp0QNnupHvRhJWkCtrxNmA4Hwlw5xFURTWvf9p9H9xGmr4wnfdTtbCY4JFA3SnBjtLgZFjY6xa/sjy66M87Mdzu2SBVC7EF6GvVgPx6aQgLtNz9qfArNB9B4riJI0HZisg+UkOLnMPUGWwf9hAyX5S9LQeENuf5qjcU4ICAxaoVN5PbZchb+nmYAkFAmdKK2tmCTFhRUC4iCzj7lrg/+HQoOGVRk3YP4PqeygbPqlcawjKFD6cw/jTZKmhZBgBKfvwMGsVg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L0uDN6neqQhx3Jl7waytD+xB7bKspOHXX6fz/0UdFZ4=; b=AdBVCRi2BdyNmDm/mCnzfUIUysD8S1/DKp1L/+1RSzW7Lt5ZrOxMytACTyy/oq9rIOC3jx4ALd046Nj/uvUR7h+mFvXu4XuvT8w101j+aunrwlxBL6+5edzMaAnpn6zdMV9iaJEPhncxVzy/SRCZHDV95CBsA7wEdPaOTCVdhcKRLt0obwMDgz8DkLyMizURepq9DsVxakTOzkWJGYuIRtu6UbbWK131/fuwboQs1eWj86jK4s3yqLxPDLCWDt6mRQE8Gj2QjmO2KlEoA3fxA7O3Gr9wrAeBNVgjSlSFrErqAWbE0XTParWke5Bzy8zueYfdAlAAhsuWX5VOc5XJLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L0uDN6neqQhx3Jl7waytD+xB7bKspOHXX6fz/0UdFZ4=; b=Cp6JwKp58h1JDs4A/SemlOYZEhpunmkCdnzTIPaPtA5FhvfWhujGpEakeaVdONwy4R0mHpgk++fJmq5FbRJucwZr5pNL7WId8Vjhpf54pFL3DPeNuvRuKjhO5Jy6tV4gHbYOg96pmEq8l6hhmqmmrtPCF2yO6Ir1FmER7FZQtMk= Received: from AM6PR10CA0093.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::34) by AM0PR03MB4306.eurprd03.prod.outlook.com (2603:10a6:208:c3::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Fri, 8 Jul 2022 18:13:55 +0000 Received: from VI1EUR06FT062.eop-eur06.prod.protection.outlook.com (2603:10a6:209:8c:cafe::8a) by AM6PR10CA0093.outlook.office365.com (2603:10a6:209:8c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.17 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by VI1EUR06FT062.mail.protection.outlook.com (10.13.6.85) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id C9B807C16CA; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 74C8D2E01E5; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 4/6] can: esd_usb: Improved behavior on esd CAN_ERROR_EXT event (3) Date: Fri, 8 Jul 2022 20:12:35 +0200 Message-Id: <20220708181235.4104943-5-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ff8c9d4-ad0a-4e8d-4a7a-08da610d9eb1 X-MS-TrafficTypeDiagnostic: AM0PR03MB4306:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L6VPCi5dvgMtVelmpodRxbsfSDb8g9YYXDibMfjPCAPBiKKDsXj/e178Cv097IKpjmtEggLMtjqDOTMPv47+89fv87a3+6wjEVHQDsugumtDEbQ4eGzAUtAIotF0hkPPWgeAxvuYpqB5CLGOtIIafLm5ty/zg/sB+mkQ7Ao7qLE07LFE8IW9X6i9b+0WdFd02OCsywlCfHP+Qvc3xxIZBNr/yadc5wp8wunh886NAT0tO27kVQT6xeeR7zcvLgX9IcBqnv7chlcgHJgt25Nia/jyBbJLGuqsIAiLFl2ExBWnLZ56RBAiHvGRSnpGwEo8d/KUFEaRKFbgdRS+34qxJDKN8Nh/7Dv/uw600gnXkdCC1KdUHee5gIMFonczQgTir92bZ/BfA+mhlVbNQLJVUdIWaO3y9UmpzI2wyagVZlV8RcJWIOYyWUkFIGu14SAz4YKUm9hKQuFkK0pbVCA5aCseDCA13KvJQDjrjc9FqAbfMXSfCTjJuWDpOj3YsstJTn4egUteBOofErZNf6BRcWeGisHq8Wz5ulwTE7/CjLlIITHR67h3GrhMdrSs1gKZ7Qn9FrxdKFw9+l1o+F1zCbqEeRqvOvDLo30N+v7VVFBeUA7W/8N5VpLR4ka0WGt4NGvOqqCtl0qukJJMvNei80NCpWQ/iH72N7SBOYzbrEpYAkQSkjfFoaIg3UXm3kwXuX1taT9dFFjag60EZWIFZDrG6BNfJVVyfoIvYRxzLjT16na3WRDKDRORVdblJmSPCUDl/QDgFhzilOMFwf/DxIqLJioEzUyj9OvFk0hPle0= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(39830400003)(136003)(346002)(36840700001)(46966006)(82310400005)(2616005)(70206006)(42186006)(2906002)(81166007)(186003)(6666004)(336012)(26005)(70586007)(1076003)(356005)(86362001)(36756003)(6266002)(4326008)(8676002)(478600001)(40480700001)(47076005)(5660300002)(316002)(83380400001)(41300700001)(8936002)(44832011)(110136005)(54906003)(36860700001);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:55.0297 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9ff8c9d4-ad0a-4e8d-4a7a-08da610d9eb1 X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR06FT062.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB4306 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Started a rework initiated by Vincents remark about "You should not report the greatest of txerr and rxerr but the one which actually increased." Now setting CAN_ERR_CRTL_[RT]X_WARNING and CAN_ERR_CRTL_[RT]X_PASSIVE depending on REC and TEC Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 0a402a23d7ac..588caba1453b 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -304,11 +304,17 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, /* Store error in CAN protocol (location) in data[3] */ cf->data[3] = ecc & SJA1000_ECC_SEG; - if (priv->can.state == CAN_STATE_ERROR_WARNING || - priv->can.state == CAN_STATE_ERROR_PASSIVE) { - cf->data[1] = (txerr > rxerr) ? - CAN_ERR_CRTL_TX_PASSIVE : - CAN_ERR_CRTL_RX_PASSIVE; + /* Store error status of CAN-controller in data[1] */ + if (priv->can.state == CAN_STATE_ERROR_WARNING) { + if (txerr >= 96) + cf->data[1] |= CAN_ERR_CRTL_TX_WARNING; + if (rxerr >= 96) + cf->data[1] |= CAN_ERR_CRTL_RX_WARNING; + } else if (priv->can.state == CAN_STATE_ERROR_PASSIVE) { + if (txerr >= 128) + cf->data[1] |= CAN_ERR_CRTL_TX_PASSIVE; + if (rxerr >= 128) + cf->data[1] |= CAN_ERR_CRTL_RX_PASSIVE; } cf->data[6] = txerr; From patchwork Fri Jul 8 18:12:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911596 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2009C43334 for ; Fri, 8 Jul 2022 18:14:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238917AbiGHSOB (ORCPT ); Fri, 8 Jul 2022 14:14:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35288 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238544AbiGHSN6 (ORCPT ); Fri, 8 Jul 2022 14:13:58 -0400 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30117.outbound.protection.outlook.com [40.107.3.117]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9CBCC5F9E; Fri, 8 Jul 2022 11:13:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g3Zf4GHd86PcC3u/zvMsKVDRxzglbMtgpl/ZhC9HyxQRoN7Ja1bacG0bofyEmf4Cb4P1z/7u0Jns53uwFm3di+ffF9ounH+NBFr3mVI88e04mKC7B8jZvhB/uIwi4AsIIVLSmfH4cgB41YIuqEyHbIUg+TwkzgWp7/xsWgWHopXii/ltdiThftCNAA0cGFt6LKqgJfNagvVB7Co0GlsvNjL7Y1cPsIdW30OFRZCz6BnwirL4djwi4gQASoz7XgaqmOpBBpkh9zZ/9czgHZ4Xdzkxwt36yWWZDPXRG0wAjkeeP/kAhJglHBSju+L566GoEUpFb94k5Ti3z5km1c0TFQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=49S1Kkf0CYngJdNekyjy20D/G1UCSrwpzPLPvtp+OQ4=; b=N9TEJLVFeb6uQUavazJVaWIfcONXXjkfOp0qgoFndGMAAXHq4SHyAj3fS7YcmC28gXy9zTrREsxqoYQOc7g14rBwu95eSg/8oPDNozuUPJyEKBCRnnFrZXdgO+l1S9eqYfKmpGM3/7v4HuFaWaHlR+/jXosV7QqvSBLBsnUicGXCaazCDdWE7FvHrYncX2/cjkokcquonEjYepIEHdv4y2hIU9xr8GzOfnDP//OTuryIqmQD28bURoVS+2ifITHelYLOcSKL+YTRKK6DvSfABfYtij4krLqOWY/X5MFensipG1qbH1CXE/2WitV3pEUpazL/AA5OT0wVw203atTxrQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=49S1Kkf0CYngJdNekyjy20D/G1UCSrwpzPLPvtp+OQ4=; b=BArh7nez5ldwVBut+90M3mX3nu8pidpAC3CtmHhOXMD9/A7BAvig249l612klCW0WhXHN+oE0LEOygS1DgDyks9NvZ7D9eTukjDu/tu/DFr+E4uvn8eaK7cfk+V3fa/qYgJ5D2sOtgzDaTT36B2CxeyQ1yhDjDYoaRNR4TfDoAw= Received: from AS9PR06CA0094.eurprd06.prod.outlook.com (2603:10a6:20b:465::7) by AM6PR03MB3992.eurprd03.prod.outlook.com (2603:10a6:20b:20::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.20; Fri, 8 Jul 2022 18:13:55 +0000 Received: from VI1EUR06FT034.eop-eur06.prod.protection.outlook.com (2603:10a6:20b:465:cafe::98) by AS9PR06CA0094.outlook.office365.com (2603:10a6:20b:465::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.17 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by VI1EUR06FT034.mail.protection.outlook.com (10.13.6.148) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id C05057C16C9; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 771E62E4AF7; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 5/6] can: esd_usb: Improved support for CAN_CTRLMODE_BERR_REPORTING Date: Fri, 8 Jul 2022 20:12:36 +0200 Message-Id: <20220708181235.4104943-6-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cd9c6883-5385-44df-a7d3-08da610d9eb3 X-MS-TrafficTypeDiagnostic: AM6PR03MB3992:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Siqpsmome+svwPutO9puNb/gKKdYbDGikL5crd4LIM7N7MiF+mVaz9VG0RrrD4r1HzDFLOqiQTzYtVk5VE+1dpo42EgXrGi0Z+9u6zubyF6fIAJ8S29om9UnNiJGRwP7/VzcFcRyQUcvHDTYHSWZ8hftaqdGgVlf20U0AOB5YD9h4CsP3scUp+VknTvFkEfa9bDYpk5AXHwpJ5T7BHB8oOaf/1UmxwqBevL8Qt2QcgkcomMejK6bRyvSPLygfSmBsBzKsYH7WFAWRECSEDwmBS8UAXq1h/CtuTkxSV5Qz2yo4z9wSkLWdSjKn7CXVV8QCEQvCkQTMQSCTd1JP8gpL/jJdgoBy4XJr4QahDnJy/j8F3AYaY0nr9E+CgYBwtiQ8X5t4sfoKxn9L+DNaCGFIfsEH3EKACcbegGWPTPubvZQp7ZPzmpM9lNu0Ok3DRCMEGgJnjC/9A1WBJly6nesgbaYuvnebD4ag9TzJUShAfX37uFm9DZN+G92TrKCZeLxEje/wzqvu2AevIb7/xqu9wmM47uH90+YFmIZNe56cxyZSAoGNsEDYxz8W1FNeJmJj/hCIJIekHc775EpnSziKFiOBGyWhD6vpWr9ydMlBL97Z7LUBtkVZ2KwShK2ir8H5owOnaiodDKmBfZubmNZOzdq279LuV/cFhIHbah56P5Chtx7hWvgvgvOTsLxTHfGvOp0gYAIzhCbzu0512nREPM5jI9iiYrYO1NVTtRzXlqz3rV3FCjkMXPbsG32ILqSwuh5tvSjpvXt0ujh9W3X7O4DTHxj7oTcz3ccN4NPA9E= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(376002)(346002)(136003)(396003)(39830400003)(36840700001)(46966006)(356005)(83380400001)(44832011)(186003)(47076005)(336012)(8676002)(1076003)(81166007)(5660300002)(36860700001)(8936002)(40480700001)(82310400005)(2906002)(2616005)(478600001)(70586007)(4326008)(70206006)(41300700001)(6666004)(6266002)(316002)(110136005)(26005)(54906003)(42186006)(36756003)(86362001);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:55.0452 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cd9c6883-5385-44df-a7d3-08da610d9eb3 X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR06FT034.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB3992 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org Bus error reporting has already been implemented for a long time, but before it was always active! Now it's user controllable by means off the "berr-reporting" parameter given to "ip link set ... ", which sets CAN_CTRLMODE_BERR_REPORTING within priv->can.ctrlmode. In case of an ESD_EV_CAN_ERROR_EXT now unconditionally supply priv->bec.rxerr and priv->bec.txerr with REC and TEC. Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 47 ++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 588caba1453b..09649a45d6ff 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -230,12 +230,23 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, if (id == ESD_EV_CAN_ERROR_EXT) { u8 state = msg->msg.rx.data[0]; u8 ecc = msg->msg.rx.data[1]; - u8 rxerr = msg->msg.rx.data[2]; - u8 txerr = msg->msg.rx.data[3]; + + priv->bec.rxerr = msg->msg.rx.data[2]; + priv->bec.txerr = msg->msg.rx.data[3]; netdev_dbg(priv->netdev, "CAN_ERR_EV_EXT: dlc=%#02x state=%02x ecc=%02x rec=%02x tec=%02x\n", - msg->msg.rx.dlc, state, ecc, rxerr, txerr); + msg->msg.rx.dlc, state, ecc, priv->bec.rxerr, priv->bec.txerr); + + if (ecc) { + priv->can.can_stats.bus_error++; + stats->rx_errors++; + } + + if (state == priv->old_state && + !(priv->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) + /* Neither a state change nor active bus error reporting */ + return; skb = alloc_can_err_skb(priv->netdev, &cf); if (skb == NULL) { @@ -270,16 +281,14 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, * berr-counters might stay on values like * 95 forever ... */ - txerr = 0; - rxerr = 0; + priv->bec.txerr = 0; + priv->bec.rxerr = 0; break; } } - if (ecc) { - priv->can.can_stats.bus_error++; - stats->rx_errors++; - + if (ecc && (priv->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) { + /* Only if bus error reporting is active ... */ cf->can_id |= CAN_ERR_PROT | CAN_ERR_BUSERROR; /* Store error in CAN protocol (type) in data[2] */ @@ -301,29 +310,26 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, if (!(ecc & SJA1000_ECC_DIR)) cf->data[2] |= CAN_ERR_PROT_TX; - /* Store error in CAN protocol (location) in data[3] */ + /* Store error position in the bit stream of the CAN frame in data[3] */ cf->data[3] = ecc & SJA1000_ECC_SEG; /* Store error status of CAN-controller in data[1] */ if (priv->can.state == CAN_STATE_ERROR_WARNING) { - if (txerr >= 96) + if (priv->bec.txerr >= 96) cf->data[1] |= CAN_ERR_CRTL_TX_WARNING; - if (rxerr >= 96) + if (priv->bec.rxerr >= 96) cf->data[1] |= CAN_ERR_CRTL_RX_WARNING; } else if (priv->can.state == CAN_STATE_ERROR_PASSIVE) { - if (txerr >= 128) + if (priv->bec.txerr >= 128) cf->data[1] |= CAN_ERR_CRTL_TX_PASSIVE; - if (rxerr >= 128) + if (priv->bec.rxerr >= 128) cf->data[1] |= CAN_ERR_CRTL_RX_PASSIVE; } - cf->data[6] = txerr; - cf->data[7] = rxerr; + cf->data[6] = priv->bec.txerr; + cf->data[7] = priv->bec.rxerr; } - priv->bec.txerr = txerr; - priv->bec.rxerr = rxerr; - netif_rx(skb); } } @@ -1021,7 +1027,8 @@ static int esd_usb_probe_one_net(struct usb_interface *intf, int index) priv->can.state = CAN_STATE_STOPPED; priv->can.ctrlmode_supported = CAN_CTRLMODE_LISTENONLY | - CAN_CTRLMODE_CC_LEN8_DLC; + CAN_CTRLMODE_CC_LEN8_DLC | + CAN_CTRLMODE_BERR_REPORTING; if (le16_to_cpu(dev->udev->descriptor.idProduct) == USB_CANUSBM_PRODUCT_ID) From patchwork Fri Jul 8 18:12:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Jungclaus X-Patchwork-Id: 12911597 X-Patchwork-Delegate: kuba@kernel.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8FC9CCA483 for ; Fri, 8 Jul 2022 18:14:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238537AbiGHSOF (ORCPT ); Fri, 8 Jul 2022 14:14:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35310 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238944AbiGHSOA (ORCPT ); Fri, 8 Jul 2022 14:14:00 -0400 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60131.outbound.protection.outlook.com [40.107.6.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 986642F387; Fri, 8 Jul 2022 11:13:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E7dIb7c73rgKIgB7cvLeyLBBHh+A1c9FgWUKumjloxLzdWM3IIm6PFIoMwKrcjM6ue7KzzwPHvcwAMEjOqPk8mGP+u2HqpocO1/Ojo9wLUB75KZtxndOQXuky7if79ac70ckL14sJoT1mvJpCSae9NcjwuGgQEcvXX4MfSXPSQP7LkDRea0CBbYquIdLjxSxiaZghhPGmTzYZcZ+IGOBGnfBwxyhfJoh2Sc9c0sapCCfkM1sEaBFcLzYfDQYrapSxQv+OhoDLyWvA1q6HJOcTdkWyZ31UcR/jkCQDzPDu6KjI7hvOVLzg4QpXCDnxge5a0mqYxCKIih2tVtnH7LVng== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u4jA+jfjga+g2rsYzXr0HWDVe2gHV1BaPVJR1VGggHI=; b=NNQYkAU/O37FE1YgHGNslKP4qR50nmbQ62qj6Bj6apPVEDRZiCXu9oXl8oNIc+E5p+ZJFRgTDNg6uKnaO2TC+5BCmbJmrjvgnVJM2BALvxhIyIUB8loXVEwGYbzHiGxlLPpmm7TIpqMP+tid77jF8Nvph0jb3MfQrQSURxYOvh29YY9HPlCMnyUhds0dwPK+pQrWXfjYS9sYZg+o4ZTcsUHul/IPZazpbbJGdQDOeVFPmYLBAf/5f2ZLaUssHXNo+L5NBjO6k8OhMTYKuGdvv8WAEmfdjqot2Al5bn8agUfr9t8dbJ1pRk9YHq5DtV5p46dEhd9OVxUizTdJ/dfsWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 217.86.141.140) smtp.rcpttodomain=esd.eu smtp.mailfrom=esd.eu; dmarc=bestguesspass action=none header.from=esd.eu; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=esdhannover.onmicrosoft.com; s=selector1-esdhannover-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u4jA+jfjga+g2rsYzXr0HWDVe2gHV1BaPVJR1VGggHI=; b=C6paYrb+XhFrUsikstrLEzKZRUlfexWMEJx6Y8+eAvc0ph/X4p6RrubAScabvsmw0hDHJNKJiEDfwIRDmj2JJVIxnmLtdWH3k112s7PQOrE9GP9QAOzEeE5UAGRsr2PBOsLDsUhZWTrpczepwdjqMgP4EaxTeZlUZb84GLuV6bw= Received: from FR0P281CA0059.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:49::7) by VI1PR03MB3934.eurprd03.prod.outlook.com (2603:10a6:803:71::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.16; Fri, 8 Jul 2022 18:13:56 +0000 Received: from VI1EUR06FT019.eop-eur06.prod.protection.outlook.com (2603:10a6:d10:49:cafe::4a) by FR0P281CA0059.outlook.office365.com (2603:10a6:d10:49::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.6 via Frontend Transport; Fri, 8 Jul 2022 18:13:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 217.86.141.140) smtp.mailfrom=esd.eu; dkim=none (message not signed) header.d=none;dmarc=bestguesspass action=none header.from=esd.eu; Received-SPF: Pass (protection.outlook.com: domain of esd.eu designates 217.86.141.140 as permitted sender) receiver=protection.outlook.com; client-ip=217.86.141.140; helo=esd-s7.esd; pr=C Received: from esd-s7.esd (217.86.141.140) by VI1EUR06FT019.mail.protection.outlook.com (10.13.7.161) with Microsoft SMTP Server id 15.20.5417.15 via Frontend Transport; Fri, 8 Jul 2022 18:13:55 +0000 Received: from esd-s20.esd.local (debby [10.0.0.190]) by esd-s7.esd (Postfix) with ESMTPS id 04E4C7C16CB; Fri, 8 Jul 2022 20:13:55 +0200 (CEST) Received: by esd-s20.esd.local (Postfix, from userid 2046) id 796F92E4AF8; Fri, 8 Jul 2022 20:13:54 +0200 (CEST) From: Frank Jungclaus To: linux-can@vger.kernel.org, Marc Kleine-Budde , Wolfgang Grandegger , Vincent Mailhol Cc: =?utf-8?q?Stefan_M=C3=A4tje?= , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Frank Jungclaus Subject: [PATCH 6/6] can: esd_usb: Improved decoding for ESD_EV_CAN_ERROR_EXT messages Date: Fri, 8 Jul 2022 20:12:37 +0200 Message-Id: <20220708181235.4104943-7-frank.jungclaus@esd.eu> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220708181235.4104943-1-frank.jungclaus@esd.eu> References: <20220708181235.4104943-1-frank.jungclaus@esd.eu> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 54d9aca4-c4cf-4304-44b8-08da610d9f1e X-MS-TrafficTypeDiagnostic: VI1PR03MB3934:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZY6poXmYbyOh7qfWvY3ypA/0pzNOinLmqZF3P4Ussn6bjZYIpp8C1w+6NzYwTQZsU6lYuR2XVHEJz8YIUJlV8+wuQbWT4WTMmbcyYLwCJBQNQMhwZjkaWWN8b86MVwpvQjB2J78jODx34mMz3xJMdEUVhqrQIDArUDSa47DZwHLcqrqkLRyUbm/BN/BrcD+XAwNhLa7HEq8e/RhCpIkIi8mOptu1XJhX+hez0k2oBH8APmqm49qrrDN88xIeEUqKMwiSvcaQf8jNrH60dyvBCCSNS9lUcRAe5aluOU4mqH9zbB+sl09X9rUzqjtzl/ckv0cW9cOnfck1XWEQVgrV8V/44rMk/hJrdW6kFbz3qgMe1K2WmBXRfoBTQYeAWCsSdiSVCZftbDg9wgHEfVH0iD2DEKRsMdZUEx2pAwLf+wxnIc8Ic4D5Zg+3uruCNWb50va18eYlKLc/dAkxHDuzfxzHbcpr2A7MIduBbFBAczW7vBSGEJ+J9XZYayEIB5EONmQeH39sBn/jYjgB+cPFaZE8g8V3yNA4BpXVJGj5/Bbm2tGbtL6NgA5tSnU0bhq7YoAeWnBODFfxevraqiRbnZJsij/eMOHcr2UfOP77JYEpmfHL+ymDPfnMmvLf/uI7we5izKcr4CHkzclcgixHMe2rhghAqVXoEDZXVl0JzrNndyQrzQzLczZRXCw4RSVtJN4+56f0MRLVZKsjRQ+QVZyT7GEbJV2bWSagOCx7fT2WsJw5OFtB3OSfZtsBRixAxrDoZv8CH20zPmReESYf/LAoJKWq6CTSKjOrWE/4qfk= X-Forefront-Antispam-Report: CIP:217.86.141.140;CTRY:DE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:esd-s7.esd;PTR:pd9568d8c.dip0.t-ipconnect.de;CAT:NONE;SFS:(13230016)(4636009)(376002)(396003)(136003)(346002)(39830400003)(36840700001)(46966006)(42186006)(81166007)(6666004)(356005)(83380400001)(478600001)(54906003)(316002)(86362001)(26005)(6266002)(41300700001)(186003)(36756003)(47076005)(110136005)(1076003)(2616005)(8676002)(8936002)(336012)(2906002)(4326008)(82310400005)(15650500001)(44832011)(5660300002)(70586007)(36860700001)(40480700001)(70206006);DIR:OUT;SFP:1102; X-OriginatorOrg: esd.eu X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2022 18:13:55.7439 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 54d9aca4-c4cf-4304-44b8-08da610d9f1e X-MS-Exchange-CrossTenant-Id: 5a9c3a1d-52db-4235-b74c-9fd851db2e6b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5a9c3a1d-52db-4235-b74c-9fd851db2e6b;Ip=[217.86.141.140];Helo=[esd-s7.esd] X-MS-Exchange-CrossTenant-AuthSource: VI1EUR06FT019.eop-eur06.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB3934 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org As suggested by Vincent I spend a union plus a struct ev_can_err_ext for easier decoding of an ESD_EV_CAN_ERROR_EXT event message (which simply is a rx_msg with some dedicated data). Signed-off-by: Frank Jungclaus --- drivers/net/can/usb/esd_usb.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 09649a45d6ff..2b149590720c 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -126,7 +126,15 @@ struct rx_msg { u8 dlc; __le32 ts; __le32 id; /* upper 3 bits contain flags */ - u8 data[8]; + union { + u8 data[8]; + struct { + u8 status; /* CAN Controller Status */ + u8 ecc; /* Error Capture Register */ + u8 rec; /* RX Error Counter */ + u8 tec; /* TX Error Counter */ + } ev_can_err_ext; /* For ESD_EV_CAN_ERROR_EXT */ + }; }; struct tx_msg { @@ -134,7 +142,7 @@ struct tx_msg { u8 cmd; u8 net; u8 dlc; - u32 hnd; /* opaque handle, not used by device */ + u32 hnd; /* opaque handle, not used by device */ __le32 id; /* upper 3 bits contain flags */ u8 data[8]; }; @@ -228,11 +236,11 @@ static void esd_usb_rx_event(struct esd_usb_net_priv *priv, u32 id = le32_to_cpu(msg->msg.rx.id) & ESD_IDMASK; if (id == ESD_EV_CAN_ERROR_EXT) { - u8 state = msg->msg.rx.data[0]; - u8 ecc = msg->msg.rx.data[1]; + u8 state = msg->msg.rx.ev_can_err_ext.status; + u8 ecc = msg->msg.rx.ev_can_err_ext.ecc; - priv->bec.rxerr = msg->msg.rx.data[2]; - priv->bec.txerr = msg->msg.rx.data[3]; + priv->bec.rxerr = msg->msg.rx.ev_can_err_ext.rec; + priv->bec.txerr = msg->msg.rx.ev_can_err_ext.tec; netdev_dbg(priv->netdev, "CAN_ERR_EV_EXT: dlc=%#02x state=%02x ecc=%02x rec=%02x tec=%02x\n",