DragonFly BSD
DragonFly bugs List (threaded) for 2004-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: panic in bus_dma_tag_destroy()

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Wed, 6 Oct 2004 16:00:06 -0700 (PDT)

:I'm seeing a panic in bus_dma_tag_destroy() on the free of
:dmat->segments. In comparing this to FBSD 4.10 and 5.x, the code seems
:closest to the 5.x branch with the exception that 5.x seems to defer
:the allocation of segments til bus_dmamap_create() while DFly
:allocates this in bus_dma_tag_create(). The only other thing I noticed
:was that DFly allocates segments with M_INTWAIT while FBSD allocates
:it with M_NOWAIT.

    Get a backtrace from the DDB prompt.   The 'trace' command. If you
    aren't getting a DDB prompt then compile up a kernel with 'options DDB'
    in the kernel config.

    You didn't mention which driver was faililng, but the backtrace should
    show that.  

    In anycase, if I understand your analysis the driver must be calling
    bus_dma_tag_destroy() with a NULL svd->parent_dmat.  I will analyize
    the driver and determine whether it is appropriate to have 
    bus_dma_tag_destroy() check for NULL or whether it is appropriate for
    the driver to check for NULL and not call bus_dma_tag_destroy().

					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]