Make NdisMMapIoSpace() handle the case where a device has both mem

and altmem ranges mapped.
This commit is contained in:
Bill Paul 2004-02-08 20:32:41 +00:00
parent 67ff51f150
commit 4dfa77161a

View file

@ -1464,11 +1464,13 @@ ndis_map_iospace(vaddr, adapter, paddr, len)
block = (ndis_miniport_block *)adapter;
sc = (struct ndis_softc *)(block->nmb_ifp);
if (sc->ndis_res_mem == NULL)
if (paddr.np_quad == rman_get_start(sc->ndis_res_mem))
*vaddr = (void *)rman_get_virtual(sc->ndis_res_mem);
else if (paddr.np_quad == rman_get_start(sc->ndis_res_altmem))
*vaddr = (void *)rman_get_virtual(sc->ndis_res_altmem);
else
return(NDIS_STATUS_FAILURE);
*vaddr = (void *)rman_get_virtual(sc->ndis_res_mem);
return(NDIS_STATUS_SUCCESS);
}