Messages in this thread | | | Date | Mon, 21 Feb 2011 16:00:06 +0200 | Subject | Re: [PATCH 07/14 v3] bq27x00: Cache battery registers | From | Grazvydas Ignotas <> |
| |
> I've added the patch to my bq27x00-for-upstream tree.
Thanks.
>> >> However there is bigger problem, compiling as module and doing >> insmod/rmmod/insmod causes kernel OOPS: >> >> [ 882.575714] BUG: sleeping function called from invalid context at >> arch/arm/mm/fault.c:295 >> [ 882.584350] in_atomic(): 0, irqs_disabled(): 128, pid: 1154, name: insmod >> ... >> [ 882.959930] Unable to handle kernel NULL pointer dereference at >> virtual address 00000000 >> [ 882.968444] pgd = c14c8000 >> [ 882.977905] Internal error: Oops: 817 [#1] >> ... >> [ 883.304412] [<c007eed8>] (__queue_work+0x140/0x260) from >> [<c007f044>] (queue_work_on+0x2c/0x34) >> [ 883.313568] [<c007f044>] (queue_work_on+0x2c/0x34) from >> [<bf008390>] (bq27x00_update+0x1f8/0x220 [bq27x00_battery]) >> [ 883.324584] [<bf008390>] (bq27x00_update+0x1f8/0x220 >> [bq27x00_battery]) from [<bf0084c8>] (bq27x00_battery_poll+0x14/0x48 >> [bq27x00_battery]) >> >> full backtrace attached. > > I can't reproduce that OOPS. And the backtrace looks a bit strange, > queue_work_on is not called from bq27x00_update. > Can you send me the disassembly of your bq27x00_update?
It comes from power_supply_changed, probably omitted because queue_work is a tail function of power_supply_changed. It's probably something i2c specific, I could try bisecting it for you if you like, I know it doesn't happen before this series. -- 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/
| |