* bits. macro
*/
+#include <linux/config.h>
#include <linux/crc32.h>
#include <linux/delay.h>
#include <linux/errno.h>
return IRQ_HANDLED;
}
-static irqreturn_t lance_interrupt(const int irq, void *dev_id,
- struct pt_regs *regs)
+static irqreturn_t
+lance_interrupt(const int irq, void *dev_id, struct pt_regs *regs)
{
struct net_device *dev = (struct net_device *) dev_id;
struct lance_private *lp = netdev_priv(dev);
len = skblen;
if (len < ETH_ZLEN) {
- if (skb_padto(skb, ETH_ZLEN))
+ skb = skb_padto(skb, ETH_ZLEN);
+ if (skb == NULL)
return 0;
len = ETH_ZLEN;
}
return 0;
err_out_free_dev:
- free_netdev(dev);
+ kfree(dev);
err_out:
return ret;
while (root_lance_dev) {
struct net_device *dev = root_lance_dev;
struct lance_private *lp = netdev_priv(dev);
-
unregister_netdev(dev);
#ifdef CONFIG_TC
if (lp->slot >= 0)