Re: panic in bus_dma_tag_destroy()

看板DFBSD_bugs作者時間21年前 (2004/10/07 07:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/12 (看更多)
: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(). -Matt Matthew Dillon <dillon@backplane.com>
文章代碼(AID): #11P81p00 (DFBSD_bugs)
討論串 (同標題文章)
文章代碼(AID): #11P81p00 (DFBSD_bugs)