Files
linux/drivers
Haavard Skinnemoen 348badf1e8 dmaengine: fix broken device refcounting
When a DMA device is unregistered, its reference count is decremented twice
for each channel: Once dma_class_dev_release() and once in
dma_chan_cleanup().  This may result in the DMA device driver's remove()
function completing before all channels have been cleaned up, causing lots
of use-after-free fun.

Fix it by incrementing the device's reference count twice for each
channel during registration.

[dan.j.williams@intel.com: kill unnecessary client refcounting]
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-14 18:45:39 -08:00
..
2007-10-17 08:42:52 -07:00
2007-11-14 18:45:39 -08:00
2007-11-02 08:47:06 +01:00
2007-11-14 18:45:39 -08:00
2007-11-14 18:45:37 -08:00
2007-10-29 17:27:50 -04:00
2007-10-16 09:43:09 -07:00
2007-10-19 11:53:42 -07:00
2007-10-20 01:34:40 +02:00
2007-11-05 15:12:31 -08:00
2007-11-05 21:54:41 +00:00
2007-11-14 18:45:38 -08:00
2007-11-05 15:12:31 -08:00
2007-10-20 01:34:40 +02:00
2007-11-10 11:59:49 +01:00
2007-10-23 09:49:31 +02:00
2007-10-19 11:53:41 -07:00
2007-10-19 11:53:41 -07:00
2007-11-14 18:45:36 -08:00
2007-10-20 15:04:06 -07:00
2007-11-14 18:45:39 -08:00
2007-10-17 08:42:57 -07:00
2007-11-02 08:47:06 +01:00
2007-11-14 18:45:36 -08:00
2007-10-23 15:49:54 +10:00