[V3,2/2] usb: gadget: u_ether: Don't warn in gether_setup_name_default()

Message ID 20230119102547.26698-2-jonathanh@nvidia.com
State New
Headers
Series [V3,1/2] usb: gadget: u_ether: Improve print in gether_setup_name_default() |

Commit Message

Jon Hunter Jan. 19, 2023, 10:25 a.m. UTC
  The function gether_setup_name_default() is called by various USB
ethernet gadget drivers. Calling this function will select a random
host and device MAC addresses. 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>
---
V2 -> V3: Updated commit message.
V1 -> V2: Changed print to debug instead of info.

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

Comments

Greg KH Jan. 19, 2023, 10:46 a.m. UTC | #1
On Thu, Jan 19, 2023 at 10:25:47AM +0000, Jon Hunter wrote:
> The function gether_setup_name_default() is called by various USB
> ethernet gadget drivers. Calling this function will select a random
> host and device MAC addresses. 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>
> ---
> V2 -> V3: Updated commit message.
> 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);

In looking at this further, you are right, the structures are not
initialized properly yet.

So move these to a different function entirely, they should be in
gether_register_netdev() instead, after the device is registered with
the system.

thanks,

greg k-h
  
Jon Hunter Jan. 19, 2023, 1:38 p.m. UTC | #2
On 19/01/2023 10:46, Greg Kroah-Hartman wrote:

...

> In looking at this further, you are right, the structures are not
> initialized properly yet.
> 
> So move these to a different function entirely, they should be in
> gether_register_netdev() instead, after the device is registered with
> the system.


I wonder if this is even necessary. Looking at gether_register_netdev() 
it already has ...

  status = register_netdev(net);
  if (status < 0) {
          dev_dbg(&g->dev, "register_netdev failed, %d\n", status);
          return status;
  } else {
          INFO(dev, "HOST MAC %pM\n", dev->host_mac);
          INFO(dev, "MAC %pM\n", dev->dev_mac);
          ...
  }


Any objection to just removing completely from 
gether_setup_name_default()? If we move to
gether_register_netdev() then I believe we also have to deal with 
gether_register_netdev().

Jon
  
Greg KH Jan. 19, 2023, 3:26 p.m. UTC | #3
On Thu, Jan 19, 2023 at 01:38:15PM +0000, Jon Hunter wrote:
> 
> On 19/01/2023 10:46, Greg Kroah-Hartman wrote:
> 
> ...
> 
> > In looking at this further, you are right, the structures are not
> > initialized properly yet.
> > 
> > So move these to a different function entirely, they should be in
> > gether_register_netdev() instead, after the device is registered with
> > the system.
> 
> 
> I wonder if this is even necessary. Looking at gether_register_netdev() it
> already has ...
> 
>  status = register_netdev(net);
>  if (status < 0) {
>          dev_dbg(&g->dev, "register_netdev failed, %d\n", status);
>          return status;
>  } else {
>          INFO(dev, "HOST MAC %pM\n", dev->host_mac);
>          INFO(dev, "MAC %pM\n", dev->dev_mac);

Those need to be moved to be dev_info() and then I'll stop complaining :)
Or dev_dbg() if you want to make it debug only.

>          ...
>  }
> 
> 
> Any objection to just removing completely from gether_setup_name_default()?

Nope!

Remove them and change the above lines and then all should be good.

thanks,

greg k-h
  

Patch

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;