Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754550Ab1DBLrS (ORCPT ); Sat, 2 Apr 2011 07:47:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:15341 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751216Ab1DBLrR (ORCPT ); Sat, 2 Apr 2011 07:47:17 -0400 Message-ID: <4D970CB6.3070604@redhat.com> Date: Sat, 02 Apr 2011 19:47:02 +0800 From: Xiaotian Feng User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Thunderbird/3.1.7 MIME-Version: 1.0 To: tglx@linutronix.de, linux-kernel@vger.kernel.org CC: mingo@elte.hu Subject: BUG: sleeping function called from invalid context at kernel/mutex.c Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2494 Lines: 55 Hi, I've got following warnings when I'm trying to resume from suspend, so sparse_lock is not safe enough as a mutex for the suspend resume case, can we simply convert sparse_lock back to spinlock? BUG: sleeping function called from invalid context at kernel/mutex.c:278 in_atomic(): 1, irqs_disabled(): 1, pid: 2345, name: bash INFO: lockdep is turned off. irq event stamp: 0 hardirqs last enabled at (0): [< (null)>] (null) hardirqs last disabled at (0): [] copy_process+0x4d1/0x1070 softirqs last enabled at (0): [] copy_process+0x4d1/0x1070 softirqs last disabled at (0): [< (null)>] (null) Pid: 2345, comm: bash Tainted: G I 2.6.39-rc1+ #59 Call Trace: [] __might_sleep+0x107/0x140 [] mutex_lock_nested+0x2f/0x50 [] irq_reserve_irqs+0x4a/0xa0 [] ? __irq_put_desc_unlock+0x28/0x50 [] irq_set_chip+0x58/0x70 [] ? handle_level_irq+0xe0/0xe0 [] irq_set_chip_and_handler_name+0x26/0x50 [] arch_setup_hpet_msi+0xa0/0xf0 [] hpet_setup_msi_irq+0x1c/0x40 [] hpet_set_mode+0x1a3/0x1f0 [] hpet_msi_set_mode+0x14/0x20 [] clockevents_set_mode+0x2a/0x70 [] tick_resume+0x53/0xa0 [] tick_notify+0x1cd/0x1e0 [] ? clockevents_notify+0x28/0x140 [] notifier_call_chain+0x94/0xd0 [] raw_notifier_call_chain+0x16/0x20 [] clockevents_notify+0x3d/0x140 [] timekeeping_resume+0x190/0x1d0 [] syscore_resume+0x45/0xf0 [] suspend_enter+0xe7/0x120 [] suspend_devices_and_enter+0x8e/0x2c0 [] enter_state+0xd6/0x130 [] state_store+0x99/0x100 [] kobj_attr_store+0x17/0x20 [] sysfs_write_file+0xa3/0x100 [] vfs_write+0xd0/0x1a0 [] sys_write+0x54/0xa0 [] system_call_fastpath+0x16/0x1b Thanks Xiaotian -- 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/