when it failed to inform rx/tx dma setup it should clean up allocated

dma-related buffers and tags.

MFC after:	3 days
This commit is contained in:
Weongyo Jeong 2009-03-30 11:51:05 +00:00
parent da689ab8ca
commit 136694a420

View File

@ -260,7 +260,7 @@ malo_attach(uint16_t devid, struct malo_softc *sc)
}
error = malo_setup_hwdma(sc); /* push to firmware */
if (error != 0) /* NB: malo_setupdma prints msg */
goto bad1;
goto bad2;
sc->malo_tq = taskqueue_create_fast("malo_taskq", M_NOWAIT,
taskqueue_thread_enqueue, &sc->malo_tq);
@ -329,6 +329,8 @@ malo_attach(uint16_t devid, struct malo_softc *sc)
malo_announce(sc);
return 0;
bad2:
malo_dma_cleanup(sc);
bad1:
malo_hal_detach(mh);
bad: