Re: BUG: sleeping function called from invalid context at include/linux/freezer.h:45
From: Amit Sahrawat
Date: Tue Jan 10 2012 - 00:52:30 EST
On Tue, Jan 10, 2012 at 9:57 AM, Kyungmin Park <kmpark@xxxxxxxxxxxxx> wrote:
> Dear all
>
> with the latest kernel. I got the below bug message.
> It calls the sleep function. Does it intended operation?
>
> static inline bool try_to_freeze(void)
> {
> might_sleep();
> if (likely(!freezing(current)))
> return false;
> return __refrigerator(false);
> }
this change is part of this GIT:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=a0acae0e886d44bd5ce6d2f173c1ace0fcf0d9f6
>
> # poweroff
> [ 6.852523] BUG: sleeping function called from invalid context at
> include/linux/freezer.h:45
> [ 6.859489] in_atomic(): 0, irqs_disabled(): 128, pid: 1, name: init
> [ 6.865846] [<c0013508>] (unwind_backtrace+0x0/0xec) from
> [<c0010124>] (do_signal+0x88/0x588)
> [ 6.874337] [<c0010124>] (do_signal+0x88/0x588) from [<c001063c>]
> (do_notify_resume+0x18/0x38)
> [ 6.882928] [<c001063c>] (do_notify_resume+0x18/0x38) from
> [<c000dc18>] (work_pending+0x24/0x28)
is this the complete backtrace...?
The above backtrace shows that freezing was called from a context
wherein - IRQs are disabled - which resulted in this error.
How about checking ...
BUG_ON(irqs_disabled()); in try_to_freeze()...
not sure though... please check and update me also...
>
> commit e4e11180dfa545233e5145919b75b7fac88638df
> Merge: 37cfc3f adc0e91
> Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Date: Mon Jan 9 17:37:37 2012 -0800
>
> Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vi
>
> Thank you,
> Kyungmin Park
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/