Add some minor changes related to PCMCIA attribute memory mapping

(which I apparently forgot to commit earlier).

Acquire NDIS_LOCK() in ndis_linksts_done().
This commit is contained in:
Bill Paul 2004-08-01 06:42:44 +00:00
parent 73a9bdc48c
commit dde913e3ca
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=132953

View file

@ -73,8 +73,8 @@ __FBSDID("$FreeBSD$");
#include <compat/ndis/pe_var.h>
#include <compat/ndis/resource_var.h>
#include <compat/ndis/hal_var.h>
#include <compat/ndis/ntoskrnl_var.h>
#include <compat/ndis/hal_var.h>
#include <compat/ndis/ndis_var.h>
#include <compat/ndis/cfg_var.h>
#include <dev/if_ndis/if_ndisvar.h>
@ -389,6 +389,15 @@ ndis_attach(dev)
goto fail;
}
if (sc->ndis_iftype == PCMCIABus) {
error = ndis_alloc_amem(sc);
if (error) {
device_printf(dev, "failed to allocate "
"attribute memory\n");
goto fail;
}
}
sc->ndis_regvals = ndis_regvals;
#if __FreeBSD_version < 502113
@ -737,6 +746,9 @@ ndis_detach(dev)
bus_release_resource(dev, SYS_RES_MEMORY,
sc->ndis_altmem_rid, sc->ndis_res_altmem);
if (sc->ndis_iftype == PCMCIABus)
ndis_free_amem(sc);
if (sc->ndis_sc)
ndis_destroy_dma(sc);
@ -957,8 +969,11 @@ ndis_linksts_done(adapter)
ifp = block->nmb_ifp;
sc = ifp->if_softc;
if (!NDIS_INITIALIZED(sc))
NDIS_LOCK(sc);
if (!NDIS_INITIALIZED(sc)) {
NDIS_UNLOCK(sc);
return;
}
switch (block->nmb_getstat) {
case NDIS_STATUS_MEDIA_CONNECT:
@ -973,6 +988,7 @@ ndis_linksts_done(adapter)
break;
}
NDIS_UNLOCK(sc);
return;
}