illegal context for sleeping ... rmmod ide-cd + ide-scsi

From: Douglas Gilbert (dougg@torque.net)
Date: Mon May 05 2003 - 03:39:35 EST


In lk 2.5.69 (and in 68) both the ide-cd and ide-scsi
modules generate a "sleeping function called from illegal
context" stack trace when removed.

After "rmmod ide-cd" this appears:
  Debug: sleeping function called from illegal context
         at include/asm/semaphore.h:119
  Call Trace:
   [<c011dcec>] __might_sleep+0x5c/0x70
   [<c025b634>] auto_remove_settings+0x24/0x80
   [<c025db8a>] ide_unregister_subdriver+0x15a/0x3d0
   [<e10d48df>] ide_cdrom_cleanup+0x2f/0x110 [ide_cd]
   [<c02346de>] driver_unregister+0x2e/0x42
   [<e10d90e0>] ide_cdrom_driver+0x0/0xd8 [ide_cd]
   [<e10d91a8>] ide_cdrom_driver+0xc8/0xd8 [ide_cd]
   [<c025e270>] ide_unregister_driver+0x100/0x1df
   [<c0155f1f>] unmap_vma_list+0x1f/0x30
   [<e10d9200>] +0x0/0x140 [ide_cd]
   [<e10d4df2>] +0x12/0x20 [ide_cd]
   [<e10d90e0>] ide_cdrom_driver+0x0/0xd8 [ide_cd]
   [<c013d336>] sys_delete_module+0x1d6/0x240
   [<c0156457>] sys_munmap+0x57/0x80
   [<c0109eaf>] syscall_call+0x7/0xb

After "rmmod ide-scsi" this appears:
  Debug: sleeping function called from illegal context
        at include/asm/semaphore.h:119
  Call Trace:
   [<e10c8068>] idescsi_driver+0xc8/0xd8 [ide_scsi]
   [<c011dcec>] __might_sleep+0x5c/0x70
   [<e10c8068>] idescsi_driver+0xc8/0xd8 [ide_scsi]
   [<c025b634>] auto_remove_settings+0x24/0x80
   [<c025db8a>] ide_unregister_subdriver+0x15a/0x3d0
   [<e10c7ff8>] idescsi_driver+0x58/0xd8 [ide_scsi]
   [<e10c7ff8>] idescsi_driver+0x58/0xd8 [ide_scsi]
   [<e10c542d>] idescsi_cleanup+0x1d/0x60 [ide_scsi]
   [<e10c7fa0>] idescsi_driver+0x0/0xd8 [ide_scsi]
   [<c025e270>] ide_unregister_driver+0x100/0x1df
   [<e10c6e87>] +0xfa/0x10f [ide_scsi]
   [<e10c8300>] +0x0/0x140 [ide_scsi]
   [<e10c663f>] +0x2f/0x50 [ide_scsi]
   [<e10c7fa0>] idescsi_driver+0x0/0xd8 [ide_scsi]
   [<c013d336>] sys_delete_module+0x1d6/0x240
   [<c0156457>] sys_munmap+0x57/0x80
   [<c0109eaf>] syscall_call+0x7/0xb

My .config has these kernel debugging options set:
#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_SLAB=y
CONFIG_DEBUG_IOVIRT=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_KALLSYMS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
CONFIG_FRAME_POINTER=y

Doug Gilbert

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed May 07 2003 - 22:00:21 EST