summaryrefslogtreecommitdiffstats
path: root/sys/dev/an/if_an_pccard.c
diff options
context:
space:
mode:
authorambrisko <ambrisko@FreeBSD.org>2003-12-30 01:07:12 +0000
committerambrisko <ambrisko@FreeBSD.org>2003-12-30 01:07:12 +0000
commitdd8da6f3b336de5809dcbca650a6d79234d3a829 (patch)
tree8b9f3caeb5795ef2d529f037fe33777349ca3612 /sys/dev/an/if_an_pccard.c
parent0349754c19e68a2772d230b459d076d752d26b19 (diff)
downloadFreeBSD-src-dd8da6f3b336de5809dcbca650a6d79234d3a829.zip
FreeBSD-src-dd8da6f3b336de5809dcbca650a6d79234d3a829.tar.gz
- Bump up the general and status RID sizes
- Clear out an_dma_vaddr on free so we can test to see if dma is setup when the card is kldunloaded/kldloaded etc. only for MPI350 - Use a common detach like wi(4) - Notify on RID read overflow and truncate this currently causes a panic in -stable when the stack during an ifconfig an0 is done with newer firmware - Convert from UNLOCK/tsleep/LOCK to msleep. I thought I did that a while ago.
Diffstat (limited to 'sys/dev/an/if_an_pccard.c')
-rw-r--r--sys/dev/an/if_an_pccard.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/sys/dev/an/if_an_pccard.c b/sys/dev/an/if_an_pccard.c
index 4ecaaca..2dbd48a 100644
--- a/sys/dev/an/if_an_pccard.c
+++ b/sys/dev/an/if_an_pccard.c
@@ -79,13 +79,12 @@ __FBSDID("$FreeBSD$");
static int an_pccard_match(device_t);
static int an_pccard_probe(device_t);
static int an_pccard_attach(device_t);
-static int an_pccard_detach(device_t);
static device_method_t an_pccard_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, pccard_compat_probe),
DEVMETHOD(device_attach, pccard_compat_attach),
- DEVMETHOD(device_detach, an_pccard_detach),
+ DEVMETHOD(device_detach, an_detach),
DEVMETHOD(device_shutdown, an_shutdown),
/* Card interface */
@@ -131,27 +130,6 @@ an_pccard_match(device_t dev)
}
static int
-an_pccard_detach(device_t dev)
-{
- struct an_softc *sc = device_get_softc(dev);
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- if (sc->an_gone) {
- device_printf(dev,"already unloaded\n");
- return(0);
- }
- an_stop(sc);
- ifmedia_removeall(&sc->an_ifmedia);
- ifp->if_flags &= ~IFF_RUNNING;
- ether_ifdetach(ifp);
- sc->an_gone = 1;
- bus_teardown_intr(dev, sc->irq_res, sc->irq_handle);
- an_release_resources(dev);
- mtx_destroy(&sc->an_mtx);
- return (0);
-}
-
-static int
an_pccard_probe(device_t dev)
{
int error;
OpenPOWER on IntegriCloud