Author: cognet
Date: Fri Jan 15 12:39:48 2010
New Revision: 202353
URL: http://svn.freebsd.org/changeset/base/202353

Log:
  Do not free the dmamap if it is still busy.
  
  Submitted by: Mark Tinguely
  MFC after:    3 days

Modified:
  head/sys/arm/arm/busdma_machdep.c

Modified: head/sys/arm/arm/busdma_machdep.c
==============================================================================
--- head/sys/arm/arm/busdma_machdep.c   Fri Jan 15 12:27:46 2010        
(r202352)
+++ head/sys/arm/arm/busdma_machdep.c   Fri Jan 15 12:39:48 2010        
(r202353)
@@ -555,12 +555,12 @@ int
 bus_dmamap_destroy(bus_dma_tag_t dmat, bus_dmamap_t map)
 {
 
-       _busdma_free_dmamap(map);
        if (STAILQ_FIRST(&map->bpages) != NULL) {
                CTR3(KTR_BUSDMA, "%s: tag %p error %d",
                    __func__, dmat, EBUSY);
                return (EBUSY);
        }
+       _busdma_free_dmamap(map);
        if (dmat->bounce_zone)
                dmat->bounce_zone->map_count--;
         dmat->map_count--;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to