Most recent kernel where this bug did not occur: dont know Distribution: F7 Hardware Environment: x86_64 PC Software Environment: Linux lin2 2.6.22 #7 SMP PREEMPT Sat Jul 28 15:21:15 MSD 2007 x86_64 x86_64 x86_64 GNU/Linux Problem Description: # rmmod parport_pc BUG: sleeping function called from invalid context at kernel/mutex.c:86 in_atomic():1, irqs_disabled():0 Call Trace: [<ffffffff8022651a>] complete+0x4a/0x60 [<ffffffff80226af0>] __might_sleep+0xb0/0xd0 [<ffffffff804b14bd>] mutex_lock+0x1d/0x40 [<ffffffff802d76ae>] sysfs_hash_and_remove+0x5e/0x160 [<ffffffff802d7f80>] sysfs_remove_file+0x10/0x20 [<ffffffff803bea30>] device_remove_file+0x30/0x50 [<ffffffff803becd1>] device_del+0x1d1/0x320 [<ffffffff803c3a1e>] platform_device_del+0x1e/0x80 [<ffffffff803c3ee1>] platform_device_unregister+0x11/0x20 [<ffffffff881b28c8>] :parport_pc:parport_pc_exit+0x98/0xc5 [<ffffffff8025154f>] sys_delete_module+0x16f/0x1f0 [<ffffffff8020994e>] system_call+0x7e/0x83 Steps to reproduce: # rmmod parport_pc
Added parport_pc-locking-fix.patch to -mm.