linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: linux-kernel@vger.kernel.org,
	Amarula patchwork <linux-amarula@amarulasolutions.com>,
	michael@amarulasolutions.com,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jakub Kicinski <kuba@kernel.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Vincent Mailhol <mailhol.vincent@wanadoo.fr>,
	Wolfgang Grandegger <wg@grandegger.com>,
	linux-can@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [RFC PATCH 11/13] can: slcan: add ethtool support to reset adapter errors
Date: Thu, 9 Jun 2022 09:24:14 +0200	[thread overview]
Message-ID: <CABGWkvrViDyWfU=PUfKq2HXnDjhiZdOMWSBt3xcmxFKxhHKCyw@mail.gmail.com> (raw)
In-Reply-To: <20220609063813.jf5u6iaghoae5dv3@pengutronix.de>

Hi Marc,

On Thu, Jun 9, 2022 at 8:38 AM Marc Kleine-Budde <mkl@pengutronix.de> wrote:
>
> On 08.06.2022 18:33:08, Dario Binacchi wrote:
> > Hi Marc,
> >
> > On Tue, Jun 7, 2022 at 12:52 PM Marc Kleine-Budde <mkl@pengutronix.de> wrote:
> > >
> > > On 07.06.2022 11:47:50, Dario Binacchi wrote:
> > > > This patch adds a private flag to the slcan driver to switch the
> > > > "err-rst-on-open" setting on and off.
> > > >
> > > > "err-rst-on-open" on  - Reset error states on opening command
> > > >
> > > > "err-rst-on-open" off - Don't reset error states on opening command
> > > >                         (default)
> > > >
> > > > The setting can only be changed if the interface is down:
> > > >
> > > >     ip link set dev can0 down
> > > >     ethtool --set-priv-flags can0 err-rst-on-open {off|on}
> > > >     ip link set dev can0 up
> > > >
> > > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
> > >
> > > I'm a big fan of bringing the device into a well known good state during
> > > ifup. What would be the reasons/use cases to not reset the device?
> >
> > Because by default either slcand and slcan_attach don't reset the
> > error states, but you must use the `-f' option to do so. So, I
> > followed this use case.
>
> Is this a CAN bus error state, like Bus Off or some controller (i.e. non
> CAN related) error?

The help option of slcan_attach and slcand prints " -f (read status
flags with 'F\\r' to reset error states)\n"
I looked at the sources of the adapter I am using (USBtin, which uses
the mcp2515 controller). The 'F'
command reads the EFLG register (0x2d) without resetting the RX0OVR
and RX1OVR overrun bits.
The error states reset is done by 'f <subcmd>' command, that is not
managed by slcan_attach/slcand.

        switch (subcmd) {
            case 0x0: // Disable status reporting
                mcp2515_write_register(MCP2515_REG_CANINTE, 0x00);
                return CR;
            case 0x1: // Enable status reporting
                mcp2515_write_register(MCP2515_REG_CANINTE, 0x20); //
ERRIE interrupt to INT pin
                return CR;
            case 0x2: // Clear overrun errors
                mcp2515_write_register(MCP2515_REG_EFLG, 0x00);
                return CR;
            case 0x3: // Reinit/reset MCP2515 to clear all errors
                if (state == STATE_CONFIG) {
                    mcp2515_init();
                    return CR;
                }
                break;
        }


Thanks and regards,
Dario

>
> regards,
> Marc
>
> --
> Pengutronix e.K.                 | Marc Kleine-Budde           |
> Embedded Linux                   | https://www.pengutronix.de  |
> Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
> Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |



-- 

Dario Binacchi

Embedded Linux Developer

dario.binacchi@amarulasolutions.com

__________________________________


Amarula Solutions SRL

Via Le Canevare 30, 31100 Treviso, Veneto, IT

T. +39 042 243 5310
info@amarulasolutions.com

www.amarulasolutions.com

  reply	other threads:[~2022-06-09  7:24 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-07  9:47 [RFC PATCH 00/13] can: slcan: extend supported features Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 01/13] can: slcan: use the BIT() helper Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 02/13] can: slcan: use netdev helpers to print out messages Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 03/13] can: slcan: use the alloc_can_skb() helper Dario Binacchi
2022-06-07 10:15   ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 04/13] can: slcan: use CAN network device driver API Dario Binacchi
2022-06-07 11:13   ` Marc Kleine-Budde
2022-06-08 16:42     ` Dario Binacchi
2022-06-09  7:07       ` Marc Kleine-Budde
2022-06-12 21:24         ` Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 05/13] can: slcan: simplify the device de-allocation Dario Binacchi
2022-06-07 20:45   ` Oliver Hartkopp
2022-06-07  9:47 ` [RFC PATCH 06/13] can: slcan: allow to send commands to the adapter Dario Binacchi
2022-06-09  7:16   ` Marc Kleine-Budde
2022-06-11 21:43     ` Dario Binacchi
2022-06-12 10:39       ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 07/13] can: slcan: set bitrate by CAN device driver API Dario Binacchi
2022-06-07 10:09   ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 08/13] can: slcan: send the open command to the adapter Dario Binacchi
2022-06-07 11:00   ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 09/13] can: slcan: send the close " Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 10/13] can: slcan: move driver into separate sub directory Dario Binacchi
2022-06-07  9:47 ` [RFC PATCH 11/13] can: slcan: add ethtool support to reset adapter errors Dario Binacchi
2022-06-07 10:52   ` Marc Kleine-Budde
2022-06-08 16:33     ` Dario Binacchi
2022-06-09  6:38       ` Marc Kleine-Budde
2022-06-09  7:24         ` Dario Binacchi [this message]
2022-06-09  8:01           ` Marc Kleine-Budde
2022-06-09  8:52             ` Dario Binacchi
2022-06-10 10:51               ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 12/13] can: slcan: extend the protocol with error info Dario Binacchi
2022-06-07 10:56   ` Marc Kleine-Budde
2022-06-07  9:47 ` [RFC PATCH 13/13] can: slcan: extend the protocol with CAN state info Dario Binacchi
2022-06-07 10:13   ` Marc Kleine-Budde
2022-06-07 10:27 ` [RFC PATCH 00/13] can: slcan: extend supported features Vincent MAILHOL
2022-06-07 10:39   ` Marc Kleine-Budde
2022-06-07 12:20     ` Vincent MAILHOL
2022-06-07 12:19 ` Vincent MAILHOL
2022-06-07 23:55   ` Max Staudt
2022-06-08  0:15 ` Max Staudt
2022-06-08  7:19   ` Marc Kleine-Budde
2022-06-08 12:55     ` Max Staudt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABGWkvrViDyWfU=PUfKq2HXnDjhiZdOMWSBt3xcmxFKxhHKCyw@mail.gmail.com' \
    --to=dario.binacchi@amarulasolutions.com \
    --cc=bigeasy@linutronix.de \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-amarula@amarulasolutions.com \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=michael@amarulasolutions.com \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=wg@grandegger.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).