ethernet: unify return value of .ndo_set_mac_address if address is invalid
[deliverable/linux.git] / drivers / net / ethernet / aeroflex / greth.c
index 442fefa4f2ca373caa9759e128493fe0e3824efb..3485011780893b2a8f2113c7c0f68a682120522a 100644 (file)
@@ -785,7 +785,6 @@ static int greth_rx(struct net_device *dev, int limit)
 
                        } else {
                                skb_reserve(skb, NET_IP_ALIGN);
-                               skb->dev = dev;
 
                                dma_sync_single_for_cpu(greth->dev,
                                                        dma_addr,
@@ -1018,7 +1017,7 @@ static int greth_set_mac_add(struct net_device *dev, void *p)
        regs = (struct greth_regs *) greth->regs;
 
        if (!is_valid_ether_addr(addr->sa_data))
-               return -EINVAL;
+               return -EADDRNOTAVAIL;
 
        memcpy(dev->dev_addr, addr->sa_data, dev->addr_len);
        GRETH_REGSAVE(regs->esa_msb, dev->dev_addr[0] << 8 | dev->dev_addr[1]);
@@ -1422,7 +1421,7 @@ static int __devinit greth_of_probe(struct platform_device *ofdev)
        SET_NETDEV_DEV(dev, greth->dev);
 
        if (netif_msg_probe(greth))
-               dev_dbg(greth->dev, "reseting controller.\n");
+               dev_dbg(greth->dev, "resetting controller.\n");
 
        /* Reset the controller. */
        GRETH_REGSAVE(regs->control, GRETH_RESET);
@@ -1623,18 +1622,7 @@ static struct platform_driver greth_of_driver = {
        .remove = __devexit_p(greth_of_remove),
 };
 
-static int __init greth_init(void)
-{
-       return platform_driver_register(&greth_of_driver);
-}
-
-static void __exit greth_cleanup(void)
-{
-       platform_driver_unregister(&greth_of_driver);
-}
-
-module_init(greth_init);
-module_exit(greth_cleanup);
+module_platform_driver(greth_of_driver);
 
 MODULE_AUTHOR("Aeroflex Gaisler AB.");
 MODULE_DESCRIPTION("Aeroflex Gaisler Ethernet MAC driver");
This page took 0.054507 seconds and 5 git commands to generate.