Messages in this thread Patch in this message | | | From | Parag Warudkar <> | Subject | Re: [BUG] sleeping function called from invalid context during resume | Date | Fri, 7 Jul 2006 03:32:08 +0000 (UTC) |
| |
john stultz <johnstul <at> us.ibm.com> writes:
> > I got the following on my laptop w/ 2.6.18-rc1. > > thanks > -john
> Back to C! > BUG: sleeping function called from invalid context at mm/slab.c:2882 > in_atomic():0, irqs_disabled():1 > [<c0103d59>] show_trace_log_lvl+0x149/0x170 > [<c01052ab>] show_trace+0x1b/0x20 > [<c01052d4>] dump_stack+0x24/0x30 > [<c0116e51>] __might_sleep+0xa1/0xc0 > [<c0165cb5>] kmem_cache_zalloc+0xa5/0xc0 > [<c0264b5a>] acpi_os_acquire_object+0x11/0x41 > [<c027a898>] acpi_ut_allocate_object_desc_dbg+0xf/0x45 > [<c027a926>] acpi_ut_create_internal_object_dbg+0x16/0x69 > [<c0276bd3>] acpi_rs_set_srs_method_data+0x80/0xdd > [<c02762e5>] acpi_set_current_resources+0x31/0x3f > [<c02826bf>] acpi_pci_link_set+0xfc/0x1a5 > [<c0282a25>] irqrouter_resume+0x52/0x73 > [<c02b92aa>] __sysdev_resume+0x1a/0x90 > [<c02b9367>] sysdev_resume+0x47/0x70 > [<c02bf1f8>] device_power_up+0x8/0x10 > [<c0142185>] suspend_enter+0x65/0x80
Hmm.. This was fixed in -mm back in February (http://www.ussg.iu.edu/hypermail/linux/kernel/0602.1/2022.html). Not sure why it hasn't flowed in to mainline. Does this patch below (against 2.6.18-rc1) fix it?
Parag
Signed-off-by: Parag Warudkar <kernel-stuff@comcast.net>
--- linux-2.6.17/drivers/acpi/osl.c.orig 2006-07-06 23:22:03.000000000 -0400 +++ linux-2.6.17/drivers/acpi/osl.c 2006-07-06 23:29:43.000000000 -0400 @@ -1130,7 +1130,11 @@ acpi_status acpi_os_release_object(acpi_
void *acpi_os_acquire_object(acpi_cache_t * cache) { - void *object = kmem_cache_zalloc(cache, GFP_KERNEL); + void* object; + if (acpi_in_resume) + object = kmem_cache_zalloc(cache, GFP_ATOMIC); + else + object = kmem_cache_zalloc(cache, GFP_KERNEL); WARN_ON(!object); return object; }
- 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/
| |