Merge tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6
[firefly-linux-kernel-4.4.55.git] / drivers / net / ethernet / micrel / ks8851.c
index 0c3e4005224d446d181c2656c3a04a95fceded28..c722aa607d074796985b9028c5c91752459aad8e 100644 (file)
@@ -1,4 +1,4 @@
-/* drivers/net/ks8851.c
+/* drivers/net/ethernet/micrel/ks8851.c
  *
  * Copyright 2009 Simtec Electronics
  *     http://www.simtec.co.uk/
@@ -439,13 +439,13 @@ static void ks8851_init_mac(struct ks8851_net *ks)
                                dev->dev_addr);
        }
 
-       random_ether_addr(dev->dev_addr);
+       eth_hw_addr_random(dev);
        ks8851_write_mac_addr(dev);
 }
 
 /**
  * ks8851_irq - device interrupt handler
- * @irq: Interrupt number passed from the IRQ hnalder.
+ * @irq: Interrupt number passed from the IRQ handler.
  * @pw: The private word passed to register_irq(), our struct ks8851_net.
  *
  * Disable the interrupt from happening again until we've processed the
@@ -1050,6 +1050,7 @@ static int ks8851_set_mac_address(struct net_device *dev, void *addr)
        if (!is_valid_ether_addr(sa->sa_data))
                return -EADDRNOTAVAIL;
 
+       dev->addr_assign_type &= ~NET_ADDR_RANDOM;
        memcpy(dev->dev_addr, sa->sa_data, ETH_ALEN);
        return ks8851_write_mac_addr(dev);
 }
@@ -1419,10 +1420,8 @@ static int __devinit ks8851_probe(struct spi_device *spi)
        int ret;
 
        ndev = alloc_etherdev(sizeof(struct ks8851_net));
-       if (!ndev) {
-               dev_err(&spi->dev, "failed to alloc ethernet device\n");
+       if (!ndev)
                return -ENOMEM;
-       }
 
        spi->bits_per_word = 8;