From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Marc Kleine-Budde <mkl@pengutronix.de>,
Dong Aisheng <b29396@freescale.com>
Cc: linux-can@vger.kernel.org, wg@grandegger.com,
varkabhadram@gmail.com, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 5/7] can: clear ctrlmode when close candev
Date: Mon, 03 Nov 2014 19:25:12 +0100 [thread overview]
Message-ID: <5457C888.5010000@hartkopp.net> (raw)
In-Reply-To: <5457AD40.7020606@pengutronix.de>
On 11/03/2014 05:28 PM, Marc Kleine-Budde wrote:
> On 10/29/2014 11:45 AM, Dong Aisheng wrote:
>> Currently priv->ctrlmode is not cleared when close_candev, so next time
>> the driver will still use this value to set controller even user
>> does not set any ctrl mode.
>> e.g.
>> Step 1. ip link set can0 up type can0 bitrate 1000000 loopback on
>> Controller will be in loopback mode
>> Step 2. ip link set can0 down
>> Step 3. ip link set can0 up type can0 bitrate 1000000
>> Controller will still be set to loopback mode in driver due to saved
>> priv->ctrlmode.
>>
>> This patch clears priv->ctrlmode when the CAN interface is closed,
>> and set it to correct mode according to next user setting.
>
> Oliver, what do you think of this patch? It will introduce a subtle
> change to the userspace.
Hi Marc,
indeed the current policy is that ifdown/ifup doesn't change any setting.
When we start to clear priv->ctrlmode when setting the interface down the
question arises whether the bitrate(s) has/have to be wiped too.
Setting the interface down/up can be done with ip or ifconfig without changing
the controller settings.
So IMO we can not assume that people always use the 'all-in-one'
ip link set can0 up type can0 bitrate 1000000
command as given in the example above.
You might also do it like this:
ip link set can0 up type can0 bitrate 1000000 loopback on
ip link set can0 down
ip link set can0 type can0 loopback off
ip link set can0 up
Finally I would vote to reject this patch to stay consistent.
When users like to fiddle with options like loopback they need to take care
about their 'expert' settings too.
Regards,
Oliver
>
>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>> ---
>> drivers/net/can/dev.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
>> index 02492d2..1fce485 100644
>> --- a/drivers/net/can/dev.c
>> +++ b/drivers/net/can/dev.c
>> @@ -671,6 +671,7 @@ void close_candev(struct net_device *dev)
>>
>> del_timer_sync(&priv->restart_timer);
>> can_flush_echo_skb(dev);
>> + priv->ctrlmode = 0;
>> }
>> EXPORT_SYMBOL_GPL(close_candev);
>>
>>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: socketcan@hartkopp.net (Oliver Hartkopp)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/7] can: clear ctrlmode when close candev
Date: Mon, 03 Nov 2014 19:25:12 +0100 [thread overview]
Message-ID: <5457C888.5010000@hartkopp.net> (raw)
In-Reply-To: <5457AD40.7020606@pengutronix.de>
On 11/03/2014 05:28 PM, Marc Kleine-Budde wrote:
> On 10/29/2014 11:45 AM, Dong Aisheng wrote:
>> Currently priv->ctrlmode is not cleared when close_candev, so next time
>> the driver will still use this value to set controller even user
>> does not set any ctrl mode.
>> e.g.
>> Step 1. ip link set can0 up type can0 bitrate 1000000 loopback on
>> Controller will be in loopback mode
>> Step 2. ip link set can0 down
>> Step 3. ip link set can0 up type can0 bitrate 1000000
>> Controller will still be set to loopback mode in driver due to saved
>> priv->ctrlmode.
>>
>> This patch clears priv->ctrlmode when the CAN interface is closed,
>> and set it to correct mode according to next user setting.
>
> Oliver, what do you think of this patch? It will introduce a subtle
> change to the userspace.
Hi Marc,
indeed the current policy is that ifdown/ifup doesn't change any setting.
When we start to clear priv->ctrlmode when setting the interface down the
question arises whether the bitrate(s) has/have to be wiped too.
Setting the interface down/up can be done with ip or ifconfig without changing
the controller settings.
So IMO we can not assume that people always use the 'all-in-one'
ip link set can0 up type can0 bitrate 1000000
command as given in the example above.
You might also do it like this:
ip link set can0 up type can0 bitrate 1000000 loopback on
ip link set can0 down
ip link set can0 type can0 loopback off
ip link set can0 up
Finally I would vote to reject this patch to stay consistent.
When users like to fiddle with options like loopback they need to take care
about their 'expert' settings too.
Regards,
Oliver
>
>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>> ---
>> drivers/net/can/dev.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
>> index 02492d2..1fce485 100644
>> --- a/drivers/net/can/dev.c
>> +++ b/drivers/net/can/dev.c
>> @@ -671,6 +671,7 @@ void close_candev(struct net_device *dev)
>>
>> del_timer_sync(&priv->restart_timer);
>> can_flush_echo_skb(dev);
>> + priv->ctrlmode = 0;
>> }
>> EXPORT_SYMBOL_GPL(close_candev);
>>
>>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Hartkopp <socketcan@hartkopp.net>
To: Marc Kleine-Budde <mkl@pengutronix.de>,
Dong Aisheng <b29396@freescale.com>,
Wolfgang Grandegger <wg@grandegger.com>
Cc: linux-can@vger.kernel.org, wg@grandegger.com,
varkabhadram@gmail.com, netdev@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 5/7] can: clear ctrlmode when close candev
Date: Mon, 03 Nov 2014 19:25:12 +0100 [thread overview]
Message-ID: <5457C888.5010000@hartkopp.net> (raw)
In-Reply-To: <5457AD40.7020606@pengutronix.de>
On 11/03/2014 05:28 PM, Marc Kleine-Budde wrote:
> On 10/29/2014 11:45 AM, Dong Aisheng wrote:
>> Currently priv->ctrlmode is not cleared when close_candev, so next time
>> the driver will still use this value to set controller even user
>> does not set any ctrl mode.
>> e.g.
>> Step 1. ip link set can0 up type can0 bitrate 1000000 loopback on
>> Controller will be in loopback mode
>> Step 2. ip link set can0 down
>> Step 3. ip link set can0 up type can0 bitrate 1000000
>> Controller will still be set to loopback mode in driver due to saved
>> priv->ctrlmode.
>>
>> This patch clears priv->ctrlmode when the CAN interface is closed,
>> and set it to correct mode according to next user setting.
>
> Oliver, what do you think of this patch? It will introduce a subtle
> change to the userspace.
Hi Marc,
indeed the current policy is that ifdown/ifup doesn't change any setting.
When we start to clear priv->ctrlmode when setting the interface down the
question arises whether the bitrate(s) has/have to be wiped too.
Setting the interface down/up can be done with ip or ifconfig without changing
the controller settings.
So IMO we can not assume that people always use the 'all-in-one'
ip link set can0 up type can0 bitrate 1000000
command as given in the example above.
You might also do it like this:
ip link set can0 up type can0 bitrate 1000000 loopback on
ip link set can0 down
ip link set can0 type can0 loopback off
ip link set can0 up
Finally I would vote to reject this patch to stay consistent.
When users like to fiddle with options like loopback they need to take care
about their 'expert' settings too.
Regards,
Oliver
>
>> Signed-off-by: Dong Aisheng <b29396@freescale.com>
>> ---
>> drivers/net/can/dev.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c
>> index 02492d2..1fce485 100644
>> --- a/drivers/net/can/dev.c
>> +++ b/drivers/net/can/dev.c
>> @@ -671,6 +671,7 @@ void close_candev(struct net_device *dev)
>>
>> del_timer_sync(&priv->restart_timer);
>> can_flush_echo_skb(dev);
>> + priv->ctrlmode = 0;
>> }
>> EXPORT_SYMBOL_GPL(close_candev);
>>
>>
>
>
next prev parent reply other threads:[~2014-11-03 18:25 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-29 10:45 [PATCH 1/7] can: m_can: fix possible sleep in napi poll Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` [PATCH 2/7] can: m_can: fix the incorrect error messages Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-11-03 16:25 ` Marc Kleine-Budde
2014-11-03 16:25 ` Marc Kleine-Budde
2014-10-29 10:45 ` [PATCH 3/7] can: m_can: add .ndo_change_mtu function Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-11-03 16:49 ` Marc Kleine-Budde
2014-11-03 16:49 ` Marc Kleine-Budde
2014-10-29 10:45 ` [PATCH 4/7] can: m_can: add a bit delay after setting CCCR_INIT bit Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-11-03 16:52 ` Marc Kleine-Budde
2014-11-03 16:52 ` Marc Kleine-Budde
2014-10-29 10:45 ` [PATCH 5/7] can: clear ctrlmode when close candev Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-11-03 16:28 ` Marc Kleine-Budde
2014-11-03 16:28 ` Marc Kleine-Budde
2014-11-03 16:28 ` Marc Kleine-Budde
2014-11-03 18:25 ` Oliver Hartkopp [this message]
2014-11-03 18:25 ` Oliver Hartkopp
2014-11-03 18:25 ` Oliver Hartkopp
2014-11-03 20:47 ` Marc Kleine-Budde
2014-11-03 20:47 ` Marc Kleine-Budde
2014-11-04 8:27 ` Dong Aisheng
2014-11-04 8:27 ` Dong Aisheng
2014-11-04 8:27 ` Dong Aisheng
2014-10-29 10:45 ` [PATCH 6/7] can: m_can: update to support CAN FD features Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 19:21 ` Oliver Hartkopp
2014-10-29 19:21 ` Oliver Hartkopp
2014-10-30 2:42 ` Dong Aisheng
2014-10-30 2:42 ` Dong Aisheng
2014-10-30 2:42 ` Dong Aisheng
2014-10-30 20:32 ` Oliver Hartkopp
2014-10-30 20:32 ` Oliver Hartkopp
2014-11-04 7:12 ` Dong Aisheng
2014-11-04 7:12 ` Dong Aisheng
2014-10-29 10:45 ` [PATCH 7/7] can: m_can: workaround for transmit data less than 4 bytes Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-10-29 10:45 ` Dong Aisheng
2014-11-03 16:48 ` Marc Kleine-Budde
2014-11-03 16:48 ` Marc Kleine-Budde
2014-11-04 8:25 ` Dong Aisheng
2014-11-04 8:25 ` Dong Aisheng
2014-11-04 8:25 ` Dong Aisheng
2014-11-04 9:22 ` Marc Kleine-Budde
2014-11-04 9:22 ` Marc Kleine-Budde
2014-11-04 9:27 ` Dong Aisheng
2014-11-04 9:27 ` Dong Aisheng
2014-11-04 9:27 ` Dong Aisheng
2014-11-04 10:33 ` Marc Kleine-Budde
2014-11-04 10:33 ` Marc Kleine-Budde
2014-11-04 13:13 ` Oliver Hartkopp
2014-11-04 13:13 ` Oliver Hartkopp
2014-11-04 13:28 ` Marc Kleine-Budde
2014-11-04 13:28 ` Marc Kleine-Budde
2014-11-05 2:07 ` Dong Aisheng
2014-11-05 2:07 ` Dong Aisheng
2014-11-05 2:07 ` Dong Aisheng
2014-11-05 2:03 ` Dong Aisheng
2014-11-05 2:03 ` Dong Aisheng
2014-11-05 2:03 ` Dong Aisheng
2014-11-03 16:24 ` [PATCH 1/7] can: m_can: fix possible sleep in napi poll Marc Kleine-Budde
2014-11-03 16:24 ` Marc Kleine-Budde
2014-11-03 17:02 ` Marc Kleine-Budde
2014-11-03 17:02 ` Marc Kleine-Budde
2014-11-03 18:37 ` Oliver Hartkopp
2014-11-03 18:37 ` Oliver Hartkopp
2014-11-03 20:49 ` Marc Kleine-Budde
2014-11-03 20:49 ` Marc Kleine-Budde
2014-11-03 21:12 ` Oliver Hartkopp
2014-11-03 21:12 ` Oliver Hartkopp
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=5457C888.5010000@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=b29396@freescale.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
--cc=netdev@vger.kernel.org \
--cc=varkabhadram@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.