[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <49F1A064.6040100@csr.com>
Date: Fri, 24 Apr 2009 12:20:04 +0100
From: David Vrabel <david.vrabel@....com>
To: Joerg Roedel <joerg.roedel@....com>
CC: Kernel development list <linux-kernel@...r.kernel.org>
Subject: dma_debug_device_change() gives bogus errors
dma_debug_device_change() gives bogus errors if a driver unmaps dma
buffers within its driver->remove() method. This is because the
BUS_NOTIFY_UNBIND_DRIVER notification is raised before calling
driver->remove() (see __device_release_driver() in drivers/base/dd.c).
By the time my driver->remove() completes, there are no DMA mappings
(debug_dma_dump_mappings() produces no output).
Also, somewhat surprisingly, it only prints the error the first time the
driver is unbound.
David
--
David Vrabel, Senior Software Engineer, Drivers
CSR, Churchill House, Cambridge Business Park, Tel: +44 (0)1223 692562
Cowley Road, Cambridge, CB4 0WZ http://www.csr.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists