linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / smc9194.c
index 8b0321f..f86697d 100644 (file)
@@ -523,7 +523,8 @@ static int smc_wait_to_send_packet( struct sk_buff * skb, struct net_device * de
        length = skb->len;
 
        if (length < ETH_ZLEN) {
-               if (skb_padto(skb, ETH_ZLEN)) {
+               skb = skb_padto(skb, ETH_ZLEN);
+               if (skb == NULL) {
                        netif_wake_queue(dev);
                        return 0;
                }
@@ -731,9 +732,12 @@ static int ifport;
 struct net_device * __init smc_init(int unit)
 {
        struct net_device *dev = alloc_etherdev(sizeof(struct smc_local));
-       struct devlist *smcdev = smc_devlist;
+       static struct devlist *smcdev = smc_devlist;
        int err = 0;
 
+#ifndef NO_AUTOPROBE
+       smcdev = smc_devlist;
+#endif
        if (!dev)
                return ERR_PTR(-ENODEV);
 
@@ -1603,7 +1607,7 @@ MODULE_PARM_DESC(io, "SMC 99194 I/O base address");
 MODULE_PARM_DESC(irq, "SMC 99194 IRQ number");
 MODULE_PARM_DESC(ifport, "SMC 99194 interface port (0-default, 1-TP, 2-AUI)");
 
-int __init init_module(void)
+int init_module(void)
 {
        if (io == 0)
                printk(KERN_WARNING