]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/smsc911x.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / smsc911x.c
index dc3f1108884d0709159246031c6252e1f42079f6..783c1a7b869e62c20ccf1981cbe3000f5eaddf56 100644 (file)
@@ -144,6 +144,7 @@ static inline u32 smsc911x_reg_read(struct smsc911x_data *pdata, u32 reg)
        }
 
        BUG();
+       return 0;
 }
 
 static inline void smsc911x_reg_write(struct smsc911x_data *pdata, u32 reg,
@@ -952,7 +953,7 @@ smsc911x_rx_fastforward(struct smsc911x_data *pdata, unsigned int pktbytes)
                do {
                        udelay(1);
                        val = smsc911x_reg_read(pdata, RX_DP_CTRL);
-               } while (timeout-- && (val & RX_DP_CTRL_RX_FFWD_));
+               } while (--timeout && (val & RX_DP_CTRL_RX_FFWD_));
 
                if (unlikely(timeout == 0))
                        SMSC_WARNING(HW, "Timed out waiting for "
@@ -1740,6 +1741,7 @@ static const struct net_device_ops smsc911x_netdev_ops = {
        .ndo_set_multicast_list = smsc911x_set_multicast_list,
        .ndo_do_ioctl           = smsc911x_do_ioctl,
        .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        .ndo_poll_controller    = smsc911x_poll_controller,
 #endif
@@ -1967,7 +1969,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
        smsc911x_reg_write(pdata, INT_STS, 0xFFFFFFFF);
 
        retval = request_irq(dev->irq, smsc911x_irqhandler, IRQF_DISABLED,
-                            SMSC_CHIPNAME, dev);
+                            dev->name, dev);
        if (retval) {
                SMSC_WARNING(PROBE,
                        "Unable to claim requested irq: %d", dev->irq);