[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3ec0825f-9963-3687-c9f2-8280176c58aa@ti.com>
Date: Tue, 1 Sep 2020 13:18:13 -0500
From: Dan Murphy <dmurphy@...com>
To: Faiz Abbas <faiz_abbas@...com>, <linux-kernel@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-can@...r.kernel.org>
CC: <kuba@...nel.org>, <davem@...emloft.net>, <mkl@...gutronix.de>,
<wg@...ndegger.com>, <sriram.dash@...sung.com>
Subject: Re: [PATCH v2] can: m_can: Set device to software init mode before
closing
Faiz
On 8/25/20 12:54 AM, Faiz Abbas wrote:
> There might be some requests pending in the buffer when the
> interface close sequence occurs. In some devices, these
> pending requests might lead to the module not shutting down
> properly when m_can_clk_stop() is called.
>
> Therefore, move the device to init state before potentially
> powering it down.
>
> Signed-off-by: Faiz Abbas <faiz_abbas@...com>
> ---
>
> changes since v1: Rebased to latest mainline
>
> drivers/net/can/m_can/m_can.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
> index 02c5795b7393..d0c458f7f6e1 100644
> --- a/drivers/net/can/m_can/m_can.c
> +++ b/drivers/net/can/m_can/m_can.c
> @@ -1414,6 +1414,9 @@ static void m_can_stop(struct net_device *dev)
> /* disable all interrupts */
> m_can_disable_all_interrupts(cdev);
>
> + /* Set init mode to disengage from the network */
> + m_can_config_endisable(cdev, true);
> +
> /* set the state as STOPPED */
> cdev->can.state = CAN_STATE_STOPPED;
> }
Acked-by: Dan Murphy <dmurphy@...com>
Powered by blists - more mailing lists