Re: [PATCH net-next v10 5/5] net: rnpgbe: Add register_netdev

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 04, 2025 at 12:53:27AM +0200, Andrew Lunn wrote:
> >   * rnpgbe_add_adapter - Add netdev for this pci_dev
> >   * @pdev: PCI device information structure
> > @@ -78,6 +129,38 @@ static int rnpgbe_add_adapter(struct pci_dev *pdev,
> >  
> >  	hw->hw_addr = hw_addr;
> >  	info->init(hw);
> > +	mucse_init_mbx_params_pf(hw);
> > +	err = hw->ops->echo_fw_status(hw, true, mucse_fw_powerup);
> > +	if (err) {
> > +		dev_warn(&pdev->dev, "Send powerup to hw failed %d\n", err);
> > +		dev_warn(&pdev->dev, "Maybe low performance\n");
> > +	}
> > +
> > +	err = mucse_mbx_sync_fw(hw);
> > +	if (err) {
> > +		dev_err(&pdev->dev, "Sync fw failed! %d\n", err);
> > +		goto err_free_net;
> > +	}
> 
> The order here seems odd. Don't you want to synchronise the mbox
> before you power up? If your are out of sync, the power up could fail,
> and you keep in lower power mode? 
> 

As I explained before, powerup sends mbx and wait fw read out, but
without response data from fw. mucse_mbx_sync_fw sends mbx and wait for
the corect response from fw, after mucse_mbx_sync_fw, driver->fw
request and fw->driver response will be both ok.

> > +	netdev->netdev_ops = &rnpgbe_netdev_ops;
> > +	netdev->watchdog_timeo = 5 * HZ;
> > +	err = hw->ops->reset_hw(hw);
> > +	if (err) {
> > +		dev_err(&pdev->dev, "Hw reset failed %d\n", err);
> > +		goto err_free_net;
> > +	}
> > +	err = hw->ops->get_perm_mac(hw);
> > +	if (err == -EINVAL) {
> > +		dev_warn(&pdev->dev, "Try to use random MAC\n");
> > +		eth_random_addr(hw->perm_addr);
> 
> eth_random_addr() cannot fail. So you don't try to use a random MAC
> address, you are using a random MAC address/
> 
> 	Andrew
> 

Maybe update it like this?
if (err == -EINVAL) {
	dev_warn(&pdev->dev, "Using a random MAC\n");
....

Thanks for your feedback.





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux