Messages in this thread | | | Subject | Re: [PATCH 2/2] rename dev_hw_addr_random and remove redundant second | From | Ben Hutchings <> | Date | Thu, 9 Feb 2012 20:11:30 +0000 |
| |
On Thu, 2012-02-09 at 20:48 +0100, Danny Kukawka wrote: > Renamed dev_hw_addr_random to eth_hw_addr_random() to reflect that > this function only assign a random ethernet address (MAC). Removed > the second parameter (u8 *hwaddr), it's redundant since the also > given net_device already contains net_device->dev_addr. > Set it directly. > > Adapt igbvf and ixgbevf to the changed function. [...] > --- a/drivers/net/ethernet/intel/igbvf/netdev.c > +++ b/drivers/net/ethernet/intel/igbvf/netdev.c > @@ -2695,18 +2695,19 @@ static int __devinit igbvf_probe(struct pci_dev *pdev, > dev_info(&pdev->dev, > "PF still in reset state, assigning new address." > " Is the PF interface up?\n"); > - dev_hw_addr_random(adapter->netdev, hw->mac.addr); > + eth_hw_addr_random(netdev); > + memcpy(adapter->hw.mac.addr, netdev->dev_addr, > + netdev->addr_len); > } else { > err = hw->mac.ops.read_mac_addr(hw); > if (err) { > dev_err(&pdev->dev, "Error reading MAC address\n"); > goto err_hw_init; > } > + memcpy(netdev->dev_addr, adapter->hw.mac.addr, > + netdev->addr_len); > } > > - memcpy(netdev->dev_addr, adapter->hw.mac.addr, netdev->addr_len); > - memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); > - > if (!is_valid_ether_addr(netdev->perm_addr)) { > dev_err(&pdev->dev, "Invalid MAC Address: %pM\n", > netdev->dev_addr); > @@ -2714,6 +2715,8 @@ static int __devinit igbvf_probe(struct pci_dev *pdev, > goto err_hw_init; > } > > + memcpy(netdev->perm_addr, adapter->hw.mac.addr, netdev->addr_len); [...]
I wonder whether VF drivers should claim to have a permanent address at all, let alone setting the 'permanent' address to a randomly generated address.
Ben.
-- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked.
| |