Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / net / sungem.c
index b70bbd7..38cd30c 100644 (file)
@@ -2220,7 +2220,7 @@ static int gem_do_start(struct net_device *dev)
        spin_unlock_irqrestore(&gp->lock, flags);
 
        if (request_irq(gp->pdev->irq, gem_interrupt,
-                                  IRQF_SHARED, dev->name, (void *)dev)) {
+                                  SA_SHIRQ, dev->name, (void *)dev)) {
                printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name);
 
                spin_lock_irqsave(&gp->lock, flags);
@@ -2880,20 +2880,17 @@ static int __devinit gem_get_device_address(struct gem *gp)
 #if defined(__sparc__)
        struct pci_dev *pdev = gp->pdev;
        struct pcidev_cookie *pcp = pdev->sysdata;
-       int use_idprom = 1;
+       int node = -1;
 
        if (pcp != NULL) {
-               unsigned char *addr;
-               int len;
-
-               addr = of_get_property(pcp->prom_node, "local-mac-address",
-                                      &len);
-               if (addr && len == 6) {
-                       use_idprom = 0;
-                       memcpy(dev->dev_addr, addr, 6);
-               }
+               node = pcp->prom_node;
+               if (prom_getproplen(node, "local-mac-address") == 6)
+                       prom_getproperty(node, "local-mac-address",
+                                        dev->dev_addr, 6);
+               else
+                       node = -1;
        }
-       if (use_idprom)
+       if (node == -1)
                memcpy(dev->dev_addr, idprom->id_ethaddr, 6);
 #elif defined(CONFIG_PPC_PMAC)
        unsigned char *addr;