On 08/09/2012 05:36 PM, Jiang Liu wrote:
>> And I just tried it some more times. It just hung up, but dmesg had no 
>> output.
>> Like this:
>>
>> # modprobe acpihp_enum
>> (OK, and sysfs interfaces have been created)
>> # modprobe acpihp_drv
>> (hang up)
>>
>> # dmesg
>> (nothing)
>>
>> The "modprobe acpihp_drv" process's call trace shows that it hung at the 
>> following function:
>> #0  0x00000032836aab80 in __nanosleep_nocancel () from /lib64/libc.so.6
>> #1  0x00000032836deb64 in usleep () from /lib64/libc.so.6
>> ......
>>
>> I have tried several times and I cannot reproduce the situation I just said.
> You can reproduce it by loading acpihp_drv without acpihp_enum driver, I 
> guess.
> The acpihp_drv module_init() should call acpihp_register_class() to 
> initialize the core.
> 
Hi~

True. Thanks for your comments. :)
Since I'm new in PCI related area, if you don't mind, would you please give me 
some more advice about the following problem ?
Thanks. :)

"modprobe acpihp_drv" command failed, but acpihp_drv was loaded successfully, 
and always in use.
It cannot be removed. Is it a problem ?

[root@DP tangchen]# lsmod | grep acpi
acpi_cpufreq            9542  0 
freq_table              5030  2 cpufreq_ondemand,acpi_cpufreq
mperf                   1391  1 acpi_cpufreq
acpi_memhotplug         4414  0 

[root@DP tangchen]# modprobe acpihp_drv
Killed                                                          (NOTE: The NULL 
pointer problem happened here.)

[root@DP tangchen]# echo $?
137

[root@DP tangchen]# lsmod | grep acpi
acpihp_drv             24925  1                                 (NOTE: Here, 
the module is loaded.)
acpi_cpufreq            9542  0 
freq_table              5030  2 cpufreq_ondemand,acpi_cpufreq
mperf                   1391  1 acpi_cpufreq
acpi_memhotplug         4414  0 

[root@DP tangchen]# rmmod acpihp_drv
ERROR: Module acpihp_drv is in use


The core.c file has been compiled into kernel because of my configuration 
"CONFIG_ACPI_HOTPLUG=y".
As my colleague said, in this case, there is no dependency between acpihp_enum 
and acpihp_drv.
So I think, do we need to compile core.c into acpihp_enum module, or simply 
check if acpihp_enum 
has been loaded in acpihp_drv_init() ?
I am not sure if it is a good idea to move acpihp_slot_class definition and all 
related API to 
acpihp_enum module.

Thanks again for your comments and patient. :)


-- 
Best Regards,
Tang chen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to