From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean Delvare Subject: Re: lm75_remove: LM75 Device remove using sysfs delete_device Date: Sun, 10 Jun 2012 17:36:40 +0200 Message-ID: <20120610173640.3b21759c@endymion.delvare> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-i2c-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Sasikanth babu Cc: lm-sensors-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org, linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-i2c@vger.kernel.org (Note: Frodo is out of the lm-sensors project for years, no need to Cc him.) On Sun, 10 Jun 2012 07:41:03 -0700, Sasikanth babu wrote: > when I'm trying to delete lm75 device using sysfs delete_device attribute > (echo 0x4e >/sys/bus/i2c/devices/i2c-3/delete_device) > It hangs at lm75_remove function. I started the device using sysfs > attribute new_device. > > > Kernel verion : 2.6.34.12 I can't reproduce this with kernel 3.4.2. Did you try reproducing this with a more recent kernel? 2.6.34 is getting old. Is there anything you can think of which makes your system special? I2C bus multiplexing ? Some unusual kernel option maybe? > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > i2cinit D ffffffff814a04e0 0 2064 2059 0x00000004 > ffff880271928a70 0000000000000086 0000000000000096 ffff880273215b48 > ffff8802ffffffff ffff880477306a70 0000000000010140 ffff880273215fd8 > 0000000000010140 ffff880271928a70 ffff880273215fd8 ffff880273215fd8 > Call Trace: > [] ? default_wake_function+0x0/0x20 > [] ? __rt_mutex_slowlock+0x4f/0x110 > [] ? rt_mutex_slowlock+0x93/0x190 > [] ? i2c_smbus_xfer+0x49/0x110 > [] ? dev_sysfs_ops+0x0/0x10 > [] ? i2c_smbus_write_byte_data+0x30/0x40 This looks odd, sysfs_remove_group() doesn't call i2c_smbus_write_byte_data(), and i2c_smbus_write_byte_data() doesn't touch dev_sysfs_ops... So this stack trace is approximate. > [] ? sysfs_remove_group+0x59/0x100 > [] ? lm75_remove+0x4d/0x80 > [] ? i2c_device_remove+0xa9/0xc0 > [] ? __device_release_driver+0x56/0xc0 > [] ? device_release_driver+0x25/0x40 > [] ? bus_remove_device+0x91/0xc0 > [] ? device_del+0x118/0x190 > [] ? device_unregister+0x9/0x20 > [] ? i2c_sysfs_delete_device+0x17c/0x200 > [] ? sysfs_write_file+0x1c6/0x260 > [] ? vfs_write+0x103/0x200 > [] ? sys_write+0x4e/0x90 > [] ? page_fault+0x24/0x30 > [] ? system_call_done+0x0/0x5 -- Jean Delvare