Re: PROBLEM: fakephp hangs terminal in 2.6.22 (and 2.6.21), does not Hot Plug

From: Ian Abbott
Date: Tue Jan 08 2008 - 09:39:13 EST


On 03/01/08 18:18, Ian Abbott wrote:
> On 02/11/07 21:16, john_flowers@xxxxxxxxxxx wrote:
>> The "Fake" PCI Hot Plug module fakephp does not complete the slot
>> shutdown and will hang a terminal.
>>
>>
>> I am attempting to use the fakephp module to shutdown and restart a
>> PCI Express FPGA board when the FPGA is reloaded. Using 2.6.22
>> (Ubuntu 7.10) or 2.6.21 (Fedora Core 7) I cannot get this
>> functionality to work. Sending a '1' to the power file causes no
>> change or debug output in dmesg and sending a '0' causes the terminal
>> to hang. Please CC me as I am not subscribed to the mailing list.
>
> I encountered the same problem today with a 2.6.24-rc6-git9 x86_64 SMP
> kernel when testing the hotplug sections of a driver I wrote. The
> terminal locks up when echoing a '0' to a PCI slot's "power" file. I
> added a few dbg calls in the fs_remove_slot function in
> pci_hotplug_core.c and it seems that the call to sysfs_remove_file to
> remove the "power" file that is being written to does not return.
> Perhaps the code is locking the same mutex twice in this situation?

Just a bit more maybe-helpful info....

1. The problem appeared in 2.6.21. 2.6.20 works.

2. When the process writing 0 to the 'power' file is hung, running 'ls
/sys/bus/pci/slots/<slotname>' shows an empty directory, i.e. the unlink
of the 'power' file is at least partially complete but the <slotname>
directory remains.

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/