Re: modprobe ipmi_si hangs under 2.6.30-rc5

From: Ferenc Wagner
Date: Mon May 18 2009 - 13:33:49 EST


Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:

> On Tue, 12 May 2009 23:28:59 +0200 Ferenc Wagner <wferi@xxxxxxx> wrote:
>
>> On a Dell PowerEdge 2650 2.6.30-rc5 can't load the ipmi_si module.
>> 2.6.29 has no such problems:
>>
>> [ 46.292160] IPMI System Interface driver.
>> [ 46.300321] ipmi_si: Trying SMBIOS-specified smic state machine at i/o address 0xecf4, slave address 0x20, irq 0
>> [ 46.408212] ipmi: Found new BMC (man_id: 0x0002a2, prod_id: 0x0000, dev_id: 0x00)
>> [ 46.423454] IPMI smic interface initialized
>>
>> But under 2.6.30-rc5:
>>
>> # modprobe ipmi_si bt_debug=7 smic_debug=7 kcs_debug=7
>>
>> [ 867.851694] IPMI System Interface driver.
>> [ 867.859771] ipmi_si: Trying SMBIOS-specified smic state machine at i/o address 0xecf4, slave address 0x20, irq 0
>> [ 867.880250] start_smic_transaction - 18 01
>> [ 867.880263] smic_event - smic->smic_timeout = 2000000, time = 0
>> ...
>>
>> [ 867.996243] smic_event - smic->smic_timeout = 2000000, time = 0
>> [ 867.996250] smic_event - smic->smic_timeout = 2000000, time = 0
>> [ 867.996256] smic_event - smic->smic_timeout = 2000000, time = 0
>> [...]
>>
>>
>> This goes on through megabytes. The modprobe process didn't terminate
>> for 10 minutes, and there was some output like this (cleaned from
>> smic_events all around the place by hand):
>>
>> INFO: task modprobe:6414 blocked for more than 120 seconds.
>> "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
>> modprobe D f6805780 0 6414 4077
>> f48dfe68 00000082 00000000 f6805780
>> f48dfe48 f90271cf c046acc0 f64f6a0c
>> 2002132c f6da1300 f6da14b4 c182acc0
>> 00000002 f64f6a0c 186f5ef2 000000ca
>> f48dfe30 c0123c40 00000000 f64f69e0
>> f48dfe30 00000282 00000001 c032456c
>> Call Trace:
>> [<f90271cf>] ? i_ipmi_request+0x8f5/0x916 [ipmi_msghandler]
>> [<c0123c40>] ? check_preempt_wakeup+0x146/0x180
>> [<c01292c3>] ? try_to_wake_up+0x1f3/0x1fd
>> [<c011c70a>] ? default_spin_lock_flags+0x8/0xe
>> [<c031b81a>] schedule+0x8/0x17
>> [<f9028745>] ipmi_register_smi+0x3ca/0xba1 [ipmi_msghandler]
>> [<c028681c>] ? put_device+0xf/0x11
>> [<c028782a>] ? device_add+0x497/0x516
>> [<c013f2e7>] ? autoremove_wake_function+0x0/0x33
>> [<fc2d939c>] try_smi_init+0x58f/0x726 [ipmi_si]
>> [<fc2dc3e5>] init_ipmi_si+0x3e2/0x748 [ipmi_si]
>> [<c010304f>] do_one_initcall+0x4a/0x115
>> [<fc2dc003>] ? init_ipmi_si+0x0/0x748 [ipmi_si]
>> [<c0142c0b>] ? __blocking_notifier_call_chain+0x40/0x4c
>> [<c014ff97>] sys_init_module+0x87/0x18b
>> [<c0107c94>] sysenter_do_call+0x12/0x28
>>
>
> Well there have only been a handful of changes to ipmi since 2.6.29.
> Could you try a mini-bisection?
>
> Apply revert-1.patch, test
> Apply revert-2.patch, test
> Apply revert-3.patch, test
> Apply revert-4.patch, test

After applying revert-1.patch, modprobe runs OK:

[ 86.968156] IPMI System Interface driver.
[ 86.976276] ipmi_si: Trying SMBIOS-specified smic state machine at i/o address 0xecf4, slave address 0x20, irq 0
[ 87.117630] ipmi: Found new BMC (man_id: 0x0002a2, prod_id: 0x0000, dev_id: 0x00)
[ 87.133078] IPMI smic interface initialized

I guess there's no point in trying the rest.

When loading with debug options, it still produces insane amount of
debug messages continuously (first 671 lines of it attached).
--
Regards,
Feri.

Attachment: revert1.log.gz
Description: Binary data