Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1764173AbYFFGLZ (ORCPT ); Fri, 6 Jun 2008 02:11:25 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752066AbYFFGLR (ORCPT ); Fri, 6 Jun 2008 02:11:17 -0400 Received: from mail.gmx.net ([213.165.64.20]:52699 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751126AbYFFGLQ (ORCPT ); Fri, 6 Jun 2008 02:11:16 -0400 X-Authenticated: #20450766 X-Provags-ID: V01U2FsdGVkX1/qiFQXSTrqQOPqD5QDX4/eZ7jx8G4G3GURbGYP8B 3FK8hL8UPj9q1m Date: Fri, 6 Jun 2008 08:11:23 +0200 (CEST) From: Guennadi Liakhovetski To: Andrew Morton cc: linux-kernel@vger.kernel.org, David Brownell Subject: Re: [WARNING] local_bh_enable with irqs disabled: In-Reply-To: <20080605223917.0a02804d.akpm@linux-foundation.org> Message-ID: References: <20080605223917.0a02804d.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Y-GMX-Trusted: 0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3280 Lines: 64 On Thu, 5 Jun 2008, Andrew Morton wrote: > On Tue, 3 Jun 2008 15:32:39 +0200 (CEST) Guennadi Liakhovetski wrote: > > > Hi > > > > got this whem rmmod-ing a gpiochip driver. IRQs were disabled in > > gpiochip_remove(). > > > > ------------[ cut here ]------------ > > WARNING: at kernel/softirq.c:141 local_bh_enable+0x8c/0xac() > > Modules linked in: max7301(-) pxa2xx_spi vfat fat usbhid > > [] (dump_stack+0x0/0x14) from [] (warn_on_slowpath+0x4c/0x68) > > [] (warn_on_slowpath+0x0/0x68) from [] (local_bh_enable+0x8c/0xac) > > r6:c3eac1e0 r5:c03195f0 r4:c3dde000 > > [] (local_bh_enable+0x0/0xac) from [] (sk_filter+0x34/0x94) > > r5:c3eac1e0 r4:00000000 > > [] (sk_filter+0x0/0x94) from [] (netlink_broadcast+0x1a4/0x438) > > r5:c3db2010 r4:c3db2000 > > [] (netlink_broadcast+0x0/0x438) from [] (kobject_uevent_env+0x338/0x3ec) > > [] (kobject_uevent_env+0x0/0x3ec) from [] (kobject_uevent+0x14/0x18) > > [] (kobject_uevent+0x0/0x18) from [] (device_del+0x13c/0x16c) > > [] (device_del+0x0/0x16c) from [] (device_unregister+0x18/0x24) > > r6:40000013 r5:c3eab000 r4:c3eab000 > > [] (device_unregister+0x0/0x24) from [] (gpiochip_remove+0xa0/0x13c) > > r4:c3cfb0dc > > [] (gpiochip_remove+0x0/0x13c) from [] (max7301_remove+0x40/0x80 [max7301]) > > r6:ffffffed r5:c3eade00 r4:c3cfb0c0 > > [] (max7301_remove+0x0/0x80 [max7301]) from [] (spi_drv_remove+0x24/0x28) > > r6:c3dde000 r5:bf01dcac r4:c3eade00 > > [] (spi_drv_remove+0x0/0x28) from [] (__device_release_driver+0x6c/0xa0) > > [] (__device_release_driver+0x0/0xa0) from [] (driver_detach+0xcc/0xe0) > > r5:c3eade00 r4:c3eadea8 > > [] (driver_detach+0x0/0xe0) from [] (bus_remove_driver+0x94/0xbc) > > r7:00000000 r6:c030be4c r5:bf01dcac r4:bf01dce0 > > [] (bus_remove_driver+0x0/0xbc) from [] (driver_unregister+0x48/0x4c) > > r6:c3dde000 r5:bf01dcac r4:bf01dce0 > > [] (driver_unregister+0x0/0x4c) from [] (max7301_exit+0x14/0x1c [max7301]) > > r5:00000000 r4:bf01dce0 > > [] (max7301_exit+0x0/0x1c [max7301]) from [] (sys_delete_module+0x150/0x210) > > [] (sys_delete_module+0x0/0x210) from [] (ret_fast_syscall+0x0/0x2c) > > r8:c0020d84 r7:00000081 r6:bec61470 r5:bec61458 r4:bec63c70 > > Which kernel version are you running? Sorry, this was a 2.6.26-rc3 based kernel with the gpio-sysfs patch from David, e.g., http://marc.info/?l=linux-kernel&m=121107105300923&w=2, which introduces a call to device_unregister via gpiochip_unexport(chip); in gpiochip_remove. > Please check 2.6.25 - its gpiochip_remove() seems innocent enough. No, that one would not have the problem. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer -- 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/