public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* PCMCIA 2.5.X sleeping from illegal context
@ 2003-05-12 21:35 Paul Fulghum
  2003-05-12 21:07 ` Alan Cox
                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Paul Fulghum @ 2003-05-12 21:35 UTC (permalink / raw)
  To: David Hinds; +Cc: linux-kernel@vger.kernel.org

The 2.5.X PCMCIA kernel support seems to have a problem
with drivers/pcmcia/rsrc_mgr.c in function undo_irq().

This function is called from pcmcia_release_irq() in
drivers/pcmcia/cs.c

pcmcia_release_irq() is called by individual drivers
when releasing resources.

When a device gets a CS_EVENT_CARD_REMOVAL event from
cs.c, the device sets a timer to call the release
function defined in the device driver to release resources.
This is the convention used with all PCMCIA drivers I
can see.

The release timer function is running in a context where it
is illegal to call a sleeping function.

undo_irq() has added semaphore calls down(rsrc_sem)/up(rsrc_sem)
in 2.5.X which generates the kernel 'sleeping function called
from illegal context at include/asm/semaphore.h' message.

So, are all the PCMCIA drivers supposed to be changed to not
release resources in the timer context? And if so, what
is the new convention?

Or should the synchronization used in undo_irq() be
changed to something that is legal from a timer context.


Thanks,
Paul

-- 
Paul Fulghum, paulkf@microgate.com
Microgate Corporation, http://www.microgate.com



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

end of thread, other threads:[~2003-05-14 13:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-12 21:35 PCMCIA 2.5.X sleeping from illegal context Paul Fulghum
2003-05-12 21:07 ` Alan Cox
2003-05-12 12:36   ` Paul Fulghum
2003-05-12 22:48     ` Russell King
2003-05-13 15:23       ` Paul Fulghum
2003-05-13 16:00         ` David Hinds
2003-05-12 22:31   ` Russell King
2003-05-12 23:16     ` Felipe Alfaro Solana
2003-05-12 23:36       ` Richard B. Johnson
2003-05-12 23:52         ` Paul Fulghum
2003-05-13 13:37         ` Alan Cox
2003-05-13 23:33           ` Andrew Morton
2003-05-14 13:25             ` Henning P. Schmiedehausen
2003-05-13  2:07       ` Thomas Molina
2003-05-13  0:36         ` Felipe Alfaro Solana
2003-05-12 23:11   ` Felipe Alfaro Solana
2003-05-12 22:06 ` David Hinds
2003-05-12 12:37   ` Paul Fulghum
2003-05-12 22:44 ` Andrew Morton
2003-05-12 23:10   ` David Hinds

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