On Tue, Mar 17, 2009 at 9:09 AM, Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote: > On Mon, 16 Mar 2009 21:52:10 -0700, Dan Williams <dan.j.williams@xxxxxxxxx> wrote: >> > Hmm.. why idr_ref is dynamically allocated? Just putting it in >> > dma_device makes thing more simple, no? >> >> The sysfs device has a longer lifetime than dma_device. See commit >> 41d5e59c [1]. > > The sysfs device for dma_chan (dma_chan_dev) has a shorter lifetime > than dma_device, doesn't it? No, dma_async_device_unregister(), and the freeing of dma_device, may finish before chan_dev_release is called. Userspace gates the final release of dma_chan_dev objects.