linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default()
@ 2023-01-16 15:55 Jon Hunter
  2023-01-16 15:55 ` [PATCH V2 2/2] usb: gadget: u_ether: Don't warn " Jon Hunter
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jon Hunter @ 2023-01-16 15:55 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-usb, linux-kernel, linux-tegra, Andrzej Pietrasiewicz,
	Jon Hunter

The print in in gether_setup_name_default() does not provide any useful
information because a random MAC address will always be generated when
calling this function. Rather than removing the print, update the print
to show MAC address that is generated which is similar to other ethernet
drivers.

Finally, given that the strings 'self' and 'host' are static we do not
need to pass these strings as an arguments.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
V1 -> V2: Added this patch

 drivers/usb/gadget/function/u_ether.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
index 8f12f3f8f6ee..be8e7b448933 100644
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
@@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
 	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
 
 	eth_random_addr(dev->dev_mac);
-	pr_warn("using random %s ethernet address\n", "self");
+	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
 
 	/* by default we always have a random MAC address */
 	net->addr_assign_type = NET_ADDR_RANDOM;
 
 	eth_random_addr(dev->host_mac);
-	pr_warn("using random %s ethernet address\n", "host");
+	pr_warn("using random host ethernet address %pM\n", dev->host_mac);
 
 	net->netdev_ops = &eth_netdev_ops;
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH V2 2/2] usb: gadget: u_ether: Don't warn in gether_setup_name_default()
  2023-01-16 15:55 [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default() Jon Hunter
@ 2023-01-16 15:55 ` Jon Hunter
  2023-01-17 14:13   ` Andrzej Pietrasiewicz
  2023-01-17 14:12 ` [PATCH V2 1/2] usb: gadget: u_ether: Improve print " Andrzej Pietrasiewicz
  2023-01-17 15:04 ` Greg Kroah-Hartman
  2 siblings, 1 reply; 8+ messages in thread
From: Jon Hunter @ 2023-01-16 15:55 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-usb, linux-kernel, linux-tegra, Andrzej Pietrasiewicz,
	Jon Hunter

The function gether_setup_name_default() is called by various USB
ethernet gadget drivers. This function always generates the MAC address
for the ethernet gadget device and always prints a warning when
generating the MAC address. Given that these messages are expected, make
these debug prints instead of warnings.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
V1 -> V2: Changed print to debug instead of info.

 drivers/usb/gadget/function/u_ether.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
index be8e7b448933..8feb40e38137 100644
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
@@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
 	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
 
 	eth_random_addr(dev->dev_mac);
-	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
+	pr_debug("using random self ethernet address %pM\n", dev->dev_mac);
 
 	/* by default we always have a random MAC address */
 	net->addr_assign_type = NET_ADDR_RANDOM;
 
 	eth_random_addr(dev->host_mac);
-	pr_warn("using random host ethernet address %pM\n", dev->host_mac);
+	pr_debug("using random host ethernet address %pM\n", dev->host_mac);
 
 	net->netdev_ops = &eth_netdev_ops;
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default()
  2023-01-16 15:55 [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default() Jon Hunter
  2023-01-16 15:55 ` [PATCH V2 2/2] usb: gadget: u_ether: Don't warn " Jon Hunter
@ 2023-01-17 14:12 ` Andrzej Pietrasiewicz
  2023-01-17 15:04 ` Greg Kroah-Hartman
  2 siblings, 0 replies; 8+ messages in thread
From: Andrzej Pietrasiewicz @ 2023-01-17 14:12 UTC (permalink / raw)
  To: Jon Hunter, Greg Kroah-Hartman; +Cc: linux-usb, linux-kernel, linux-tegra

W dniu 16.01.2023 o 16:55, Jon Hunter pisze:
> The print in in gether_setup_name_default() does not provide any useful
> information because a random MAC address will always be generated when
> calling this function. Rather than removing the print, update the print
> to show MAC address that is generated which is similar to other ethernet
> drivers.

I'd say the above part is redundant. It is supposed to be a message understood
by future readers of the commit log, who will not necessarily know that we
were considering a complete removal of these messages.

> 
> Finally, given that the strings 'self' and 'host' are static we do not
> need to pass these strings as an arguments.

Just drop the "Finally, ", the indefinite article "an" before the plural noun 
"arguments" and the above sentence will accurately describe what the patch is
about.

With that

Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>

> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
> V1 -> V2: Added this patch
> 
>   drivers/usb/gadget/function/u_ether.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
> index 8f12f3f8f6ee..be8e7b448933 100644
> --- a/drivers/usb/gadget/function/u_ether.c
> +++ b/drivers/usb/gadget/function/u_ether.c
> @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
>   	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
>   
>   	eth_random_addr(dev->dev_mac);
> -	pr_warn("using random %s ethernet address\n", "self");
> +	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
>   
>   	/* by default we always have a random MAC address */
>   	net->addr_assign_type = NET_ADDR_RANDOM;
>   
>   	eth_random_addr(dev->host_mac);
> -	pr_warn("using random %s ethernet address\n", "host");
> +	pr_warn("using random host ethernet address %pM\n", dev->host_mac);
>   
>   	net->netdev_ops = &eth_netdev_ops;
>   


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 2/2] usb: gadget: u_ether: Don't warn in gether_setup_name_default()
  2023-01-16 15:55 ` [PATCH V2 2/2] usb: gadget: u_ether: Don't warn " Jon Hunter
@ 2023-01-17 14:13   ` Andrzej Pietrasiewicz
  2023-01-17 14:38     ` Andrzej Pietrasiewicz
  0 siblings, 1 reply; 8+ messages in thread
From: Andrzej Pietrasiewicz @ 2023-01-17 14:13 UTC (permalink / raw)
  To: Jon Hunter, Greg Kroah-Hartman; +Cc: linux-usb, linux-kernel, linux-tegra

Hi,

W dniu 16.01.2023 o 16:55, Jon Hunter pisze:
> The function gether_setup_name_default() is called by various USB
> ethernet gadget drivers. This function always generates the MAC address
> for the ethernet gadget device and always prints a warning when
> generating the MAC address. Given that these messages are expected, make
> these debug prints instead of warnings.
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>

Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>

> ---
> V1 -> V2: Changed print to debug instead of info.
> 
>   drivers/usb/gadget/function/u_ether.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
> index be8e7b448933..8feb40e38137 100644
> --- a/drivers/usb/gadget/function/u_ether.c
> +++ b/drivers/usb/gadget/function/u_ether.c
> @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
>   	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
>   
>   	eth_random_addr(dev->dev_mac);
> -	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
> +	pr_debug("using random self ethernet address %pM\n", dev->dev_mac);
>   
>   	/* by default we always have a random MAC address */
>   	net->addr_assign_type = NET_ADDR_RANDOM;
>   
>   	eth_random_addr(dev->host_mac);
> -	pr_warn("using random host ethernet address %pM\n", dev->host_mac);
> +	pr_debug("using random host ethernet address %pM\n", dev->host_mac);
>   
>   	net->netdev_ops = &eth_netdev_ops;
>   


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 2/2] usb: gadget: u_ether: Don't warn in gether_setup_name_default()
  2023-01-17 14:13   ` Andrzej Pietrasiewicz
@ 2023-01-17 14:38     ` Andrzej Pietrasiewicz
  0 siblings, 0 replies; 8+ messages in thread
From: Andrzej Pietrasiewicz @ 2023-01-17 14:38 UTC (permalink / raw)
  To: Jon Hunter, Greg Kroah-Hartman; +Cc: linux-usb, linux-kernel, linux-tegra

Hi again,

W dniu 17.01.2023 o 15:13, Andrzej Pietrasiewicz pisze:
> Hi,
> 
> W dniu 16.01.2023 o 16:55, Jon Hunter pisze:
>> The function gether_setup_name_default() is called by various USB
>> ethernet gadget drivers. This function always generates the MAC address
>> for the ethernet gadget device and always prints a warning when
>> generating the MAC address. Given that these messages are expected, make
>> these debug prints instead of warnings.

Actually, I have second thoughts about this commit message.
If the messages were expected, why would you change them?

I think that just as in PATCH V2 1/1, there's an implicit context required
to understand your commit message: it answers the question "why don't we
just remove these messages altogether?" Answer: "because they might be expected
by some guys, so let's keep them".

IMO, what _is_ expected is random selection of addresses. So, something on
the lines of this would look better to me:

"Randomly selecting host and device MAC addresses is a proper and expected
default behavior. A properly working driver should be silent, so don't warn
the user about default MAC addresses selection happening and convert the
warnings into debug messages."

>>
>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> 
> Reviewed-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>

With the above taken into account I uphold my R-b tag.

Andrzej

> 
>> ---
>> V1 -> V2: Changed print to debug instead of info.
>>
>>   drivers/usb/gadget/function/u_ether.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/gadget/function/u_ether.c 
>> b/drivers/usb/gadget/function/u_ether.c
>> index be8e7b448933..8feb40e38137 100644
>> --- a/drivers/usb/gadget/function/u_ether.c
>> +++ b/drivers/usb/gadget/function/u_ether.c
>> @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char 
>> *netname)
>>       snprintf(net->name, sizeof(net->name), "%s%%d", netname);
>>       eth_random_addr(dev->dev_mac);
>> -    pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
>> +    pr_debug("using random self ethernet address %pM\n", dev->dev_mac);
>>       /* by default we always have a random MAC address */
>>       net->addr_assign_type = NET_ADDR_RANDOM;
>>       eth_random_addr(dev->host_mac);
>> -    pr_warn("using random host ethernet address %pM\n", dev->host_mac);
>> +    pr_debug("using random host ethernet address %pM\n", dev->host_mac);
>>       net->netdev_ops = &eth_netdev_ops;
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default()
  2023-01-16 15:55 [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default() Jon Hunter
  2023-01-16 15:55 ` [PATCH V2 2/2] usb: gadget: u_ether: Don't warn " Jon Hunter
  2023-01-17 14:12 ` [PATCH V2 1/2] usb: gadget: u_ether: Improve print " Andrzej Pietrasiewicz
@ 2023-01-17 15:04 ` Greg Kroah-Hartman
  2023-01-19 10:14   ` Jon Hunter
  2 siblings, 1 reply; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-01-17 15:04 UTC (permalink / raw)
  To: Jon Hunter; +Cc: linux-usb, linux-kernel, linux-tegra, Andrzej Pietrasiewicz

On Mon, Jan 16, 2023 at 03:55:44PM +0000, Jon Hunter wrote:
> The print in in gether_setup_name_default() does not provide any useful
> information because a random MAC address will always be generated when
> calling this function. Rather than removing the print, update the print
> to show MAC address that is generated which is similar to other ethernet
> drivers.
> 
> Finally, given that the strings 'self' and 'host' are static we do not
> need to pass these strings as an arguments.
> 
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
> V1 -> V2: Added this patch
> 
>  drivers/usb/gadget/function/u_ether.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
> index 8f12f3f8f6ee..be8e7b448933 100644
> --- a/drivers/usb/gadget/function/u_ether.c
> +++ b/drivers/usb/gadget/function/u_ether.c
> @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
>  	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
>  
>  	eth_random_addr(dev->dev_mac);
> -	pr_warn("using random %s ethernet address\n", "self");
> +	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);

If you are going to fix these up, please use dev_warn() and friends,
don't use "raw" pr_* calls in a driver.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default()
  2023-01-17 15:04 ` Greg Kroah-Hartman
@ 2023-01-19 10:14   ` Jon Hunter
  2023-01-19 10:43     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 8+ messages in thread
From: Jon Hunter @ 2023-01-19 10:14 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-usb, linux-kernel, linux-tegra, Andrzej Pietrasiewicz


On 17/01/2023 15:04, Greg Kroah-Hartman wrote:
> On Mon, Jan 16, 2023 at 03:55:44PM +0000, Jon Hunter wrote:
>> The print in in gether_setup_name_default() does not provide any useful
>> information because a random MAC address will always be generated when
>> calling this function. Rather than removing the print, update the print
>> to show MAC address that is generated which is similar to other ethernet
>> drivers.
>>
>> Finally, given that the strings 'self' and 'host' are static we do not
>> need to pass these strings as an arguments.
>>
>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>> ---
>> V1 -> V2: Added this patch
>>
>>   drivers/usb/gadget/function/u_ether.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
>> index 8f12f3f8f6ee..be8e7b448933 100644
>> --- a/drivers/usb/gadget/function/u_ether.c
>> +++ b/drivers/usb/gadget/function/u_ether.c
>> @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
>>   	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
>>   
>>   	eth_random_addr(dev->dev_mac);
>> -	pr_warn("using random %s ethernet address\n", "self");
>> +	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
> 
> If you are going to fix these up, please use dev_warn() and friends,
> don't use "raw" pr_* calls in a driver.


I had a look at that, but I don't think we can in this case. The 'dev' 
structure you see above is of type 'struct eth_dev' and not 'struct 
device'. In other places in the driver where dev_warn is used the device 
structure comes from the 'struct usb_gadget' but FWICT this is not 
initialised in the above function.

Jon

-- 
nvpublic

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default()
  2023-01-19 10:14   ` Jon Hunter
@ 2023-01-19 10:43     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 8+ messages in thread
From: Greg Kroah-Hartman @ 2023-01-19 10:43 UTC (permalink / raw)
  To: Jon Hunter; +Cc: linux-usb, linux-kernel, linux-tegra, Andrzej Pietrasiewicz

On Thu, Jan 19, 2023 at 10:14:59AM +0000, Jon Hunter wrote:
> 
> On 17/01/2023 15:04, Greg Kroah-Hartman wrote:
> > On Mon, Jan 16, 2023 at 03:55:44PM +0000, Jon Hunter wrote:
> > > The print in in gether_setup_name_default() does not provide any useful
> > > information because a random MAC address will always be generated when
> > > calling this function. Rather than removing the print, update the print
> > > to show MAC address that is generated which is similar to other ethernet
> > > drivers.
> > > 
> > > Finally, given that the strings 'self' and 'host' are static we do not
> > > need to pass these strings as an arguments.
> > > 
> > > Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> > > ---
> > > V1 -> V2: Added this patch
> > > 
> > >   drivers/usb/gadget/function/u_ether.c | 4 ++--
> > >   1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
> > > index 8f12f3f8f6ee..be8e7b448933 100644
> > > --- a/drivers/usb/gadget/function/u_ether.c
> > > +++ b/drivers/usb/gadget/function/u_ether.c
> > > @@ -845,13 +845,13 @@ struct net_device *gether_setup_name_default(const char *netname)
> > >   	snprintf(net->name, sizeof(net->name), "%s%%d", netname);
> > >   	eth_random_addr(dev->dev_mac);
> > > -	pr_warn("using random %s ethernet address\n", "self");
> > > +	pr_warn("using random self ethernet address %pM\n", dev->dev_mac);
> > 
> > If you are going to fix these up, please use dev_warn() and friends,
> > don't use "raw" pr_* calls in a driver.
> 
> 
> I had a look at that, but I don't think we can in this case. The 'dev'
> structure you see above is of type 'struct eth_dev' and not 'struct device'.

Then use the networking macro for this.  And underneath it all is a real
struct device anyway, so it should be possible.

> In other places in the driver where dev_warn is used the device structure
> comes from the 'struct usb_gadget' but FWICT this is not initialised in the
> above function.

There's a structure somewhere in here, NEVER use raw pr_* calls in a
driver, especially for a message like this.  It needs to point to the
correct device that is making the message, otherwise it's impossible to
know what is going on (and is why we created those macros decades
ago...)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-01-19 10:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-16 15:55 [PATCH V2 1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default() Jon Hunter
2023-01-16 15:55 ` [PATCH V2 2/2] usb: gadget: u_ether: Don't warn " Jon Hunter
2023-01-17 14:13   ` Andrzej Pietrasiewicz
2023-01-17 14:38     ` Andrzej Pietrasiewicz
2023-01-17 14:12 ` [PATCH V2 1/2] usb: gadget: u_ether: Improve print " Andrzej Pietrasiewicz
2023-01-17 15:04 ` Greg Kroah-Hartman
2023-01-19 10:14   ` Jon Hunter
2023-01-19 10:43     ` Greg Kroah-Hartman

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).