public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* dma_debug_device_change() gives bogus errors
@ 2009-04-24 11:20 David Vrabel
  2009-04-24 12:18 ` Joerg Roedel
  0 siblings, 1 reply; 2+ messages in thread
From: David Vrabel @ 2009-04-24 11:20 UTC (permalink / raw)
  To: Joerg Roedel; +Cc: Kernel development list

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/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: dma_debug_device_change() gives bogus errors
  2009-04-24 11:20 dma_debug_device_change() gives bogus errors David Vrabel
@ 2009-04-24 12:18 ` Joerg Roedel
  0 siblings, 0 replies; 2+ messages in thread
From: Joerg Roedel @ 2009-04-24 12:18 UTC (permalink / raw)
  To: David Vrabel; +Cc: Kernel development list

On Fri, Apr 24, 2009 at 12:20:04PM +0100, David Vrabel wrote:
> 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.

Thanks for the report. This is being worked on already. I will disable
this check for 2.6.30 and try to get a solution upstream for 2.6.31.

Joerg

-- 
           | Advanced Micro Devices GmbH
 Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei München
 System    | 
 Research  | Geschäftsführer: Jochen Polster, Thomas M. McCoy, Giuliano Meroni
 Center    | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
           | Registergericht München, HRB Nr. 43632


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-04-24 12:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-24 11:20 dma_debug_device_change() gives bogus errors David Vrabel
2009-04-24 12:18 ` Joerg Roedel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox