public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.5.69+bk: "sleeping function called from illegal context" on card release while shutting down
@ 2003-05-13 13:57 Alex Riesen
  2003-05-13 14:58 ` Felipe Alfaro Solana
  0 siblings, 1 reply; 9+ messages in thread
From: Alex Riesen @ 2003-05-13 13:57 UTC (permalink / raw)
  To: David Hinds; +Cc: linux-kernel

Hi!

Just tried to eject the card while the system was shutting down.

-alex

$ lsmod
Module                  Size  Used by
pcnet_cs               16100  1
8390                    8384  1 pcnet_cs
crc32                   3744  1 8390
ds                     11616  3 pcnet_cs
yenta_socket           14240  2
pcmcia_core            53888  3 pcnet_cs,ds,yenta_socket
soundcore               6560  0

$ lspci |grep CardBus
00:11.0 CardBus bridge: Texas Instruments PCI1131 (rev 01)
00:11.1 CardBus bridge: Texas Instruments PCI1131 (rev 01)

$ grep PCMCIA .config
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
# PCMCIA/CardBus support
CONFIG_PCMCIA=m
CONFIG_PCMCIA_PROBE=y
# CONFIG_PARPORT_PC_PCMCIA is not set
# PCMCIA SCSI adapter support
# CONFIG_PCMCIA_AHA152X is not set
# CONFIG_PCMCIA_FDOMAIN is not set
# CONFIG_PCMCIA_NINJA_SCSI is not set
# CONFIG_PCMCIA_QLOGIC is not set
# PCMCIA network device support
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
# CONFIG_PCMCIA_AXNET is not set
# PCMCIA character devices


Hw. address read/write mismap 0
Hw. address read/write mismap 1
Hw. address read/write mismap 2
Hw. address read/write mismap 3
Hw. address read/write mismap 4
Hw. address read/write mismap 5
Debug: sleeping function called from illegal context at include/asm/semaphore.h:119
Call Trace:
 [<c0118bc8>] __might_sleep+0x58/0x70
 [<c6a31eb6>] +0x82/0x58c [pcmcia_core]
 [<c6a2d193>] undo_irq+0x23/0x90 [pcmcia_core]
 [<c6a31eb6>] +0x82/0x58c [pcmcia_core]
 [<c6a302f8>] pcmcia_release_irq+0xb8/0xe0 [pcmcia_core]
 [<c6a25e00>] pcnet_release+0x0/0x80 [pcnet_cs]
 [<c6a312d5>] CardServices+0x155/0x260 [pcmcia_core]
 [<c6a312c9>] CardServices+0x149/0x260 [pcmcia_core]
 [<c6a25e56>] pcnet_release+0x56/0x80 [pcnet_cs]
 [<c01224a4>] run_timer_softirq+0xc4/0x1a0
 [<c010a8b3>] handle_IRQ_event+0x33/0xf0
 [<c011e889>] do_softirq+0xa9/0xb0
 [<c010abb5>] do_IRQ+0x125/0x150
 [<c01093a8>] common_interrupt+0x18/0x20
 [<c01a3dba>] strnlen_user+0x1a/0x40
 [<c016fd42>] create_elf_tables+0x2d2/0x360
 [<c01706cd>] load_elf_binary+0x4cd/0xba0
 [<c0134379>] buffered_rmqueue+0xc9/0x160
 [<c0170200>] load_elf_binary+0x0/0xba0
 [<c015639b>] search_binary_handler+0xcb/0x2d0
 [<c01566f9>] do_execve+0x159/0x1a0
 [<c0157d28>] getname+0x78/0xc0
 [<c0107a46>] sys_execve+0x36/0x70
 [<c0109187>] syscall_call+0x7/0xb


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: 2.5.69+bk: "sleeping function called from illegal context" on card release while shutting down
@ 2003-05-13 18:46 Alex Riesen
  0 siblings, 0 replies; 9+ messages in thread
From: Alex Riesen @ 2003-05-13 18:46 UTC (permalink / raw)
  To: Paul Fulghum
  Cc: linux-kernel, Russell King, Felipe Alfaro Solana, David Hinds

Thanks Paul,

your last suggestion (pcnet_close) helped. The previous patch was not
enough, of course.
I tried hard to reproduce it, and almost broke the card.
No "wrong sleepers" seen anymore.

Someone still has to remove the timer. It is not used anymore, in this
file, at least.

-alex

--- a/drivers/net/pcmcia/pcnet_cs.c	2003-05-13 20:34:12.000000000 +0200
+++ b/drivers/net/pcmcia/pcnet_cs.c	2003-05-13 20:34:08.000000000 +0200
@@ -848,7 +848,7 @@ static int pcnet_event(event_t event, in
 	link->state &= ~DEV_PRESENT;
 	if (link->state & DEV_CONFIG) {
 	    netif_device_detach(&info->dev);
-	    mod_timer(&link->release, jiffies + HZ/20);
+	    pcnet_release(link);
 	}
 	break;
     case CS_EVENT_CARD_INSERTION:
@@ -1054,7 +1054,7 @@ static int pcnet_close(struct net_device
     netif_stop_queue(dev);
     del_timer(&info->watchdog);
     if (link->state & DEV_STALE_CONFIG)
-	mod_timer(&link->release, jiffies + HZ/20);
+	pcnet_release((u_long)link);
 
     return 0;
 } /* pcnet_close */


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

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

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-05-13 13:57 2.5.69+bk: "sleeping function called from illegal context" on card release while shutting down Alex Riesen
2003-05-13 14:58 ` Felipe Alfaro Solana
2003-05-13 15:31   ` Paul Fulghum
2003-05-13 16:08     ` Russell King
2003-05-13 17:21     ` Alex Riesen
2003-05-13 17:28       ` Paul Fulghum
2003-05-13 17:33       ` Alex Riesen
2003-05-13 21:52     ` Felipe Alfaro Solana
  -- strict thread matches above, loose matches on Subject: below --
2003-05-13 18:46 Alex Riesen

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