]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/sgi/etherseeq.c
devarch: restrict i/o port access to 64K, disallow msr 32-bit wrap arround (thanks...
[plan9front.git] / sys / src / 9 / sgi / etherseeq.c
index ba5e418ea5f5c1f78738e834e6865c104c5d61c9..701dcb09a86709a5d1f58bf3c42f6c0458b8b417 100644 (file)
@@ -5,7 +5,7 @@
 #include "fns.h"
 #include "io.h"
 #include "../port/netif.h"
-#include "etherif.h"
+#include "../port/etherif.h"
 
 typedef struct Hio Hio;
 typedef struct Desc Desc;
@@ -250,7 +250,7 @@ rxproc(void *arg)
                        b = allocb(n);
                        b->wp += n;
                        memmove(b->rp, p->base+2, n);
-                       etheriq(edev, b, 1);
+                       etheriq(edev, b);
                }
                p->addr = PADDR(p->base);
                p->count = Ioc|Empty|Rbsize;
@@ -451,19 +451,21 @@ pnp(Ether *edev)
        edev->ctlr = &ct;
        edev->port = HPC3_ETHER;
        edev->irq = IRQENET;
-       edev->irqlevel = hpc3irqlevel(edev->irq);
        edev->ctlr = &ct;
        edev->promiscuous = promiscuous;
        edev->multicast = multicast;
-       edev->interrupt = interrupt;
        edev->attach = attach;
        edev->arg = edev;
        edev->mbps = 10;
        edev->link = 1;
+
        if(init(edev) < 0){
                edev->ctlr = nil;
                return -1;
        }
+
+       intrenable(hpc3irqlevel(edev->irq), interrupt, edev);
+
        return 0;
 }