mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: warning on device removal
       [not found] <20080904122022.GA550@doriath.ww600.siemens.net>
@ 2008-09-04 12:36 ` Oliver Neukum
  2008-09-05  6:56   ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Oliver Neukum @ 2008-09-04 12:36 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: linux-usb, linux-kernel

Am Donnerstag 04 September 2008 14:20:22 schrieb Dmitry Baryshkov:
> Hi,
> 
> I've got the following trace on one of my arm boards when removing
> the usb masstorage device:
> 
> ------------[ cut here ]------------
> WARNING: at /home/lumag/tosa-tree/arch/arm/mm/consistent.c:368 dma_free_coherent+0x34/0x248()
> Modules linked in:
> [<c0028fe4>] (dump_stack+0x0/0x14) from [<c003c810>] (warn_on_slowpath+0x4c/0x84)
> [<c003c7c4>] (warn_on_slowpath+0x0/0x84) from [<c0029e54>] (dma_free_coherent+0x34/0x248)

Looks like a principal problem we have with that architecture.
Is arm incapable of supporting buffer freeing in hard irq context
or do we use the wrong API?

	Regards
		Oliver


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

* Re: warning on device removal
  2008-09-04 12:36 ` warning on device removal Oliver Neukum
@ 2008-09-05  6:56   ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2008-09-05  6:56 UTC (permalink / raw)
  To: Oliver Neukum; +Cc: Dmitry Baryshkov, linux-usb, linux-kernel

At Thu, 4 Sep 2008 14:36:48 +0200,
Oliver Neukum wrote:
> 
> Am Donnerstag 04 September 2008 14:20:22 schrieb Dmitry Baryshkov:
> > Hi,
> > 
> > I've got the following trace on one of my arm boards when removing
> > the usb masstorage device:
> > 
> > ------------[ cut here ]------------
> > WARNING: at /home/lumag/tosa-tree/arch/arm/mm/consistent.c:368 dma_free_coherent+0x34/0x248()
> > Modules linked in:
> > [<c0028fe4>] (dump_stack+0x0/0x14) from [<c003c810>] (warn_on_slowpath+0x4c/0x84)
> > [<c003c7c4>] (warn_on_slowpath+0x0/0x84) from [<c0029e54>] (dma_free_coherent+0x34/0x248)
> 
> Looks like a principal problem we have with that architecture.
> Is arm incapable of supporting buffer freeing in hard irq context
> or do we use the wrong API?

According to DMA-API.txt, dma_free_coherent() must be called with IRQ
enabled:

> void
> dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
>			   dma_addr_t dma_handle)
...
> Note that unlike their sibling allocation calls, these routines
> may only be called with IRQs enabled.


Takashi

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

end of thread, other threads:[~2008-09-05  6:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20080904122022.GA550@doriath.ww600.siemens.net>
2008-09-04 12:36 ` warning on device removal Oliver Neukum
2008-09-05  6:56   ` Takashi Iwai

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

all inboxes | Powered by JetHome®