From f6e4b669b9a338a77d32778f2a481665bee7232d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 30 Oct 2007 17:19:07 +0000 Subject: [PATCH] * Fixed warnings. * Turned off debug output for interrupts. * Temporarily turned on IFF_PROMISC mode so that the driver can at least be used a bit. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22775 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/network/3com/pci/glue.c | 2 +- src/add-ons/kernel/drivers/network/3com/pci/if_xl.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/drivers/network/3com/pci/glue.c b/src/add-ons/kernel/drivers/network/3com/pci/glue.c index dd9a1cbcb6..19178f4422 100644 --- a/src/add-ons/kernel/drivers/network/3com/pci/glue.c +++ b/src/add-ons/kernel/drivers/network/3com/pci/glue.c @@ -37,7 +37,7 @@ __haiku_disable_interrupts(device_t dev) if (status == 0xffff || (status & XL_INTRS) == 0) return 0; - atomic_or(&sc->xl_intr_status, status); + atomic_or((int32 *)&sc->xl_intr_status, status); CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ACK | (status & XL_INTRS)); return 1; } diff --git a/src/add-ons/kernel/drivers/network/3com/pci/if_xl.c b/src/add-ons/kernel/drivers/network/3com/pci/if_xl.c index 9e9f6b61bc..d90e721ee1 100644 --- a/src/add-ons/kernel/drivers/network/3com/pci/if_xl.c +++ b/src/add-ons/kernel/drivers/network/3com/pci/if_xl.c @@ -2292,8 +2292,9 @@ xl_intr(void *arg) CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_INTR_ACK|(status & XL_INTRS)); #else - status = atomic_and(&sc->xl_intr_status, 0); - dprintf("GOT %x\n", status & XL_INTRS); + status = atomic_and((int32 *)&sc->xl_intr_status, 0); +// if (status & XL_INTRS) +// dprintf("GOT %x\n", status & XL_INTRS); if ((status & XL_INTRS) != 0 && status != 0xFFFF) { #endif if (status & XL_STAT_UP_COMPLETE) { @@ -2874,7 +2875,8 @@ xl_init_locked(struct xl_softc *sc) rxfilt |= XL_RXFILTER_INDIVIDUAL; /* If we want promiscuous mode, set the allframes bit. */ - if (ifp->if_flags & IFF_PROMISC) { +// TODO: temporarily set IFF_PROMISC, as the driver doesn't seem to work with the usual filtering + if (1/*ifp->if_flags & IFF_PROMISC*/) { rxfilt |= XL_RXFILTER_ALLFRAMES; CSR_WRITE_2(sc, XL_COMMAND, XL_CMD_RX_SET_FILT|rxfilt); } else {