[PATCH] inode_diet: Replace inode.u.generic_ip with inode.i_private
[pandora-kernel.git] / drivers / net / smc911x.c
index bdd8702..a621b17 100644 (file)
@@ -55,8 +55,6 @@ static const char version[] =
                         )
 #endif
 
-
-#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/kernel.h>
@@ -1092,6 +1090,7 @@ static irqreturn_t smc911x_interrupt(int irq, void *dev_id, struct pt_regs *regs
        /* Spurious interrupt check */
        if ((SMC_GET_IRQ_CFG() & (INT_CFG_IRQ_INT_ | INT_CFG_IRQ_EN_)) !=
                (INT_CFG_IRQ_INT_ | INT_CFG_IRQ_EN_)) {
+               spin_unlock_irqrestore(&lp->lock, flags);
                return IRQ_NONE;
        }
 
@@ -1822,7 +1821,7 @@ static int smc911x_ethtool_geteeprom_len(struct net_device *dev)
         return SMC911X_EEPROM_LEN;
 }
 
-static struct ethtool_ops smc911x_ethtool_ops = {
+static const struct ethtool_ops smc911x_ethtool_ops = {
        .get_settings    = smc911x_ethtool_getsettings,
        .set_settings    = smc911x_ethtool_setsettings,
        .get_drvinfo     = smc911x_ethtool_getdrvinfo,
@@ -2081,7 +2080,7 @@ static int __init smc911x_probe(struct net_device *dev, unsigned long ioaddr)
        lp->ctl_rspeed = 100;
 
        /* Grab the IRQ */
-       retval = request_irq(dev->irq, &smc911x_interrupt, SA_SHIRQ, dev->name, dev);
+       retval = request_irq(dev->irq, &smc911x_interrupt, IRQF_SHARED, dev->name, dev);
        if (retval)
                goto err_out;