X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=drivers%2Fnet%2Fsmc-mca.c;h=d6abb68e6e2f20eb8b238c85f710ccd7a75f913d;hb=b225ee5bed70254a100896c473e6dd8c2be45c18;hp=f00c476064f0421041c6e7bb643faacbc06fa0e4;hpb=62778ba1aa2589dc78c36a32edc6f5a6ccaf50c6;p=linux-2.6-omap-h63xx.git diff --git a/drivers/net/smc-mca.c b/drivers/net/smc-mca.c index f00c476064f..d6abb68e6e2 100644 --- a/drivers/net/smc-mca.c +++ b/drivers/net/smc-mca.c @@ -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);