ath9k: Fix IRQ nobody cared issue with ath9k
[pandora-kernel.git] / drivers / net / smc-mca.c
index f00c476..d6abb68 100644 (file)
@@ -196,6 +196,7 @@ static int __init ultramca_probe(struct device *gen_dev)
        int tirq = 0;
        int base_addr = ultra_io[ultra_found];
        int irq = ultra_irq[ultra_found];
+       DECLARE_MAC_BUF(mac);
 
        if (base_addr || irq) {
                printk(KERN_INFO "Probing for SMC MCA adapter");
@@ -250,9 +251,9 @@ static int __init ultramca_probe(struct device *gen_dev)
                        break;
                }
        }
-       
-       if(!tirq || !tbase 
-          || (irq && irq != tirq) 
+
+       if(!tirq || !tbase
+          || (irq && irq != tirq)
           || (base_addr && tbase != base_addr))
                /* FIXME: we're trying to force the ordering of the
                 * devices here, there should be a way of getting this
@@ -264,7 +265,6 @@ static int __init ultramca_probe(struct device *gen_dev)
        if(!dev)
                return -ENODEV;
 
-       SET_MODULE_OWNER(dev);
        SET_NETDEV_DEV(dev, gen_dev);
        mca_device_set_name(mca_dev, smc_mca_adapter_names[adapter]);
        mca_device_set_claim(mca_dev, 1);
@@ -310,7 +310,7 @@ static int __init ultramca_probe(struct device *gen_dev)
                         * the index of the 0x2000 step.
                         * beware different number of pages [hs]
                         */
-                       dev->mem_start = (unsigned long) 
+                       dev->mem_start = (unsigned long)
                          mca_device_transform_memory(mca_dev, (void *)(0xc0000 + (0x2000 * (pos3 & 0xf))));
                        num_pages = 0x20 + (2 * (pos3 & 0x10));
                        break;
@@ -331,10 +331,11 @@ static int __init ultramca_probe(struct device *gen_dev)
        reg4 = inb(ioaddr + 4) & 0x7f;
        outb(reg4, ioaddr + 4);
 
-       printk(KERN_INFO "smc_mca[%d]: Parameters: %#3x,", slot + 1, ioaddr);
-
        for (i = 0; i < 6; i++)
-               printk(" %2.2X", dev->dev_addr[i] = inb(ioaddr + 8 + i));
+               dev->dev_addr[i] = inb(ioaddr + 8 + i);
+
+       printk(KERN_INFO "smc_mca[%d]: Parameters: %#3x, %s",
+              slot + 1, ioaddr, print_mac(mac, dev->dev_addr));
 
        /* Switch from the station address to the alternate register set
         * and read the useful registers there.
@@ -482,8 +483,7 @@ static void ultramca_block_input(struct net_device *dev, int count, struct sk_bu
                count -= semi_count;
                memcpy_fromio(skb->data + semi_count, ei_status.mem + TX_PAGES * 256, count);
        } else {
-               /* Packet is in one chunk -- we can copy + cksum. */
-               eth_io_copy_and_sum(skb, xfer_start, count, 0);
+               memcpy_fromio(skb->data, xfer_start, count);
        }
 
 }
@@ -501,7 +501,7 @@ static int ultramca_close_card(struct net_device *dev)
        int ioaddr = dev->base_addr - ULTRA_NIC_OFFSET; /* ASIC addr */
 
        netif_stop_queue(dev);
-       
+
        if (ei_debug > 1)
                printk("%s: Shutting down ethercard.\n", dev->name);