Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1928314ybl; Tue, 3 Dec 2019 15:09:49 -0800 (PST) X-Google-Smtp-Source: APXvYqxpRC/JMK+LvbdTKesRZREKcpn9FCXEaLKFERiTqoZy6nf55fKRj7v+Cw1kfIikFqQkBHgb X-Received: by 2002:a9d:6419:: with SMTP id h25mr275496otl.267.1575414589740; Tue, 03 Dec 2019 15:09:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575414589; cv=none; d=google.com; s=arc-20160816; b=x/qvBe4t8vF5rReNwWEM16DL+mlXqJLoSugbD32+SA29kcXSnnof8DN13Iwq+Jvw0j rXfzs5DW64pB/qOrjK1lN6V5X0JX/QtF2lXLmQPMnvrzdWZbXs9hpcM0vykXYZ2k5fgf hDCD7p8bRzIVKz7TKehaPoijRhrEjNRAPyUGaDW68+Vt6a+88ph6hgvTU18Ux4DJ6sJ2 4fAaGdvZjtvABSF4biwgZ1hhb3RruTO3YRaL2+laZ4Suekf8E9RRuMcoXatokZWqBIA/ l9zLaZ8Db7dw6LC9VUeTjqx/KwUnfWLJ2f5UgPfa9sI0XtZSMCX8/18lYSyul0bL1vQA WWZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Y2pBqcTK/+2IaKO3PmQbNAH9uwWMrCt77S6lH3hd5ZI=; b=0nybrlsnc/Jq/cLdxZoGUW2qeeiSXX9riRHoor65oSCqZUpCAEtQecd7aI2U+MbGjm kIi3ZuXBZgs8X+Z4lVAMysWzvGY3LKj8wOa+OxY/831qpdzbQt9e5IUqHdxYzlrPAJNx 3PeZ0DRqHa078qZlgZ32JGlQDphX0LBMvHiAUiMIe4COtHGbGsnA9khJzCCBagRmj8bg 8LkboWRq2NAqTyfq4VGfx79E0gFpWLBjKbC0UcfbhuhUQ5Q+4MQz5QicbAC32qi9eyRD 6FRwIVRE4wcJ9DP/2m8zPrwQTMgytvNh9EmGuhsSOv8dm3tO4JiRkgIHwexEcTWNPsvA v8ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CDlMGgdB; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i78si2238800oib.1.2019.12.03.15.09.37; Tue, 03 Dec 2019 15:09:49 -0800 (PST) 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=@kernel.org header.s=default header.b=CDlMGgdB; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728998AbfLCWqU (ORCPT + 99 others); Tue, 3 Dec 2019 17:46:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:35556 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728530AbfLCWqN (ORCPT ); Tue, 3 Dec 2019 17:46:13 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 38A5E206DF; Tue, 3 Dec 2019 22:46:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575413172; bh=J4IGNW/9vAhjBmCzGthwBreJTfmm0otLMjSIxpqY4gg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CDlMGgdB8KAh3PZN0ObWO4UUCf17bHxVyRfcjaatOr5J6liM++7enymWPVcGHjqny 7a+KuTDLfIL/cK2rc5WVXIwxwkbEfMRtry+sBZuzNyV62eUvMSXYdq5Tw9L3p1M25m eyEK7ksOVHidpul4rZ7S3WnaSgrAcH6GyrpYBKUA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jeroen Hofstee , Stephane Grosjean , Marc Kleine-Budde , Sasha Levin Subject: [PATCH 4.19 026/321] can: peak_usb: report bus recovery as well Date: Tue, 3 Dec 2019 23:31:32 +0100 Message-Id: <20191203223428.480056924@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191203223427.103571230@linuxfoundation.org> References: <20191203223427.103571230@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jeroen Hofstee [ Upstream commit 128a1b87d3ceb2ba449d5aadb222fe22395adeb0 ] 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 Signed-off-by: Marc Kleine-Budde Signed-off-by: Sasha Levin --- 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 61f33c2fb1cd7..215cd74800df4 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb.c @@ -444,8 +444,8 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_context *mc, u8 n, } if ((n & PCAN_USB_ERROR_BUS_LIGHT) == 0) { /* no error (back to active state) */ - mc->pdev->dev.can.state = CAN_STATE_ERROR_ACTIVE; - return 0; + new_state = CAN_STATE_ERROR_ACTIVE; + break; } break; @@ -468,9 +468,9 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_context *mc, u8 n, } if ((n & PCAN_USB_ERROR_BUS_HEAVY) == 0) { - /* no error (back to active state) */ - mc->pdev->dev.can.state = CAN_STATE_ERROR_ACTIVE; - return 0; + /* no error (back to warning state) */ + new_state = CAN_STATE_ERROR_WARNING; + break; } break; @@ -509,6 +509,11 @@ static int pcan_usb_decode_error(struct pcan_usb_msg_context *mc, u8 n, mc->pdev->dev.can.can_stats.error_warning++; break; + case CAN_STATE_ERROR_ACTIVE: + cf->can_id |= CAN_ERR_CRTL; + cf->data[1] = CAN_ERR_CRTL_ACTIVE; + break; + default: /* CAN_STATE_MAX (trick to handle other errors) */ cf->can_id |= CAN_ERR_CRTL; -- 2.20.1