On Wed, 2007-05-02 at 03:07 -0400, Jeff Garzik wrote: > Michael Chan wrote: > > > > @@ -6195,6 +6197,18 @@ bnx2_init_one(struct pci_dev *pdev, const struct > > pci_device_id *ent) > > dev->poll_controller = poll_bnx2; > > #endif > > > > + pci_set_drvdata(pdev, dev); > > + > > + memcpy(dev->dev_addr, bp->mac_addr, 6); > > + memcpy(dev->perm_addr, bp->mac_addr, 6); > > + bp->name = board_info[ent->driver_data].name; > > + > > + dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; > > +#ifdef BCM_VLAN > > + dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; > > +#endif > > + dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; > > + > > if ((rc = register_netdev(dev))) { > > dev_err(&pdev->dev, "Cannot register net device\n"); > > if (bp->regview) > > @@ -6206,11 +6220,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct > > pci_device_id *ent) > > return rc; > > } > > > > - pci_set_drvdata(pdev, dev); > > - > > - memcpy(dev->dev_addr, bp->mac_addr, 6); > > - memcpy(dev->perm_addr, bp->mac_addr, 6); > > - bp->name = board_info[ent->driver_data].name, > > NAK. Since you move the pci_set_drvdata() call, you must now add a call > to pci_set_drvdata(pdev, NULL) on error.
It is not obvious in the patch, but it already (unnecessarily) calls pci_set_drvdata(pdev, NULL) if register_netdev() fails in the driver today. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html