On Fri, 26 Oct 2007 09:36:17 -0700 Dan Williams <[EMAIL PROTECTED]> wrote:
> @@ -221,7 +220,6 @@ void dma_chan_cleanup(struct kref *kref) > { > struct dma_chan *chan = container_of(kref, struct dma_chan, refcount); > chan->device->device_free_chan_resources(chan); > - kref_put(&chan->device->refcount, dma_async_device_cleanup); > } > EXPORT_SYMBOL(dma_chan_cleanup); While I can't see any problems with the rest of the patch, I think this part is wrong for the same reasons removing the kref_put() from the class device cleanup function is. I don't see any constraint that guarantees that dma_chan_cleanup() will always be called before dma_dev_release(), which means that "chan" may have been freed before this function gets a chance to run. Please correct me if I'm wrong. HÃ¥vard - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/