Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1931068ybl; Tue, 3 Dec 2019 15:12:27 -0800 (PST) X-Google-Smtp-Source: APXvYqxXrjltnWntWuvNrQaw7aF0CVsle4GPsjooao7xL15JwvO/yeKnCNJGSK2YmJUO5rf7yc// X-Received: by 2002:aca:4a41:: with SMTP id x62mr98104oia.148.1575414747077; Tue, 03 Dec 2019 15:12:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575414747; cv=none; d=google.com; s=arc-20160816; b=hbIyf6P9SYwOsm4G9yKn/T00/r6MmxngNKjpkYZhL0Ayv20IsOnKixmM/8dXCOOGdg DYwguX0TXOxJaZ+Ejvc4nEJANOShuByiSRdnHazjoCxtUSKrIF44W5re3fZeiu+R2Zbr 9I0ohAH828Bo0LorZukfFsSM1x5bdFChy2l1XxuqpIHgFuczuMVcx1KPP/H2GfxFFern p2z8bN0Lftd20SbpdpNb7XA1zuAmhLAmDPDvCiahDLf3wSyj4KxP3xEJe+0o+yVUqhHa UHcZvRQHELOhkAr/H+ev1IwTpYyBN8sZVrzjRhwhhUkQcau6i2E4b1dOoJ9GDK5pTTQB JT/Q== 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=Q6tLzI8jsa2wMcqR4JVIeZTUifdpg2v1sWF/CZvZqfs=; b=zMULSgMO5MqChIPRVhU3hWCobQhB/cqCY/EHPIjVywphL1cv8SMkqriPorqBLMeB6c 8U/uJDpbOA9Kve0Hdj9qlkvgiVJlHM8drgwFFytSEdaQ49nD/DOkUiXMRMl9FXg/aEBi 08qt/AiDd3Pv1cDLKl5NHH3k006vzOHrPfYQYQwZ8/ueJRTYtx6/8MKLkV8K/+ft2sRa AA85DMuf4PE9KP1NA185fr5lox4i7/GZFBX4hqLVu320SJmqokeWvL6k4DLcZQHKOBF6 d0tCfy2IJIaWp3ssI6cm50YAfPj2wD2IIiuG5WjSoneBdI7SKLJ7fUVUQ4hOwcULsTQm oIuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2P+itleD; 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 r12si2236801otq.156.2019.12.03.15.12.15; Tue, 03 Dec 2019 15:12:27 -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=2P+itleD; 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 S1728521AbfLCWlS (ORCPT + 99 others); Tue, 3 Dec 2019 17:41:18 -0500 Received: from mail.kernel.org ([198.145.29.99]:55614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728504AbfLCWlQ (ORCPT ); Tue, 3 Dec 2019 17:41:16 -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 001932080F; Tue, 3 Dec 2019 22:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575412875; bh=vJgGt+XVMnYKZoAG5h05kAuYMAWp/uN3IP2/FWjb6iE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2P+itleDkb84vxJrA1s/Lz4e35yVEk10icMmFjNftSQLsZVTrgfBeA8G5gah+R5TX YXFDrn1aSi1xQxCpu0X4sm1r1P2dzPW3IvVHYWoM7dWCJi2waIGoUxAxXiggsvomlQ zhSfMQJj0Crwm8f7efG6hyMW4QX/H8PB4r73S4tU= 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 5.3 051/135] can: peak_usb: report bus recovery as well Date: Tue, 3 Dec 2019 23:34:51 +0100 Message-Id: <20191203213019.620878955@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191203213005.828543156@linuxfoundation.org> References: <20191203213005.828543156@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 5a66c9f53aae6..d2539c95adb65 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_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; @@ -460,9 +460,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; @@ -501,6 +501,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