Re: Fwd: Adding timeouts to device access?

AreYouLoco? via linux1394-devel <[email protected]> Wed, 02 Jul 2025 18:43:04 +0000
Newsgroups gmane.linux.kernel.firewire.devel
Message-ID <[email protected]>
Hi,

I am observing similar problems reported already to the list also with Agere but with FW643 and FW643E chipsets.

Similarity here is OPs probes with unloading firewire-ohci. I am doing same attempts to restore detection of devices. And truely I couldn't find a pattern what combination works. And sometimes modprobe -r firewire-ohci hangs for me as well and also normal reboot in that case hangs as well.

I just do 10seconds power button then.

So there seem to be some pattern with Agere chipsets not cooperating.

May I ask OP: which kernel version are you on?


On June 29, 2025 2:01:19 PM UTC, Takashi Sakamoto <[email protected]> wrote:
>Hi,
>
>On Sun, Jun 29, 2025 at 02:32:49PM +1000, 小太 wrote:
>> The Firewire adapter is an old HP HI349 PCIe card (lspci info below), and
>> it's connected to an M-Audio Profire 610 audio interface.
>> CPU is a AMD 3960X on a TRX40 PRO WIFI motherboard
>
>This is the first time I've been involved with Agere FW533. Anyway
>thanks for the information.
>
>> The hardware generally only stops responding when lights or exhaust fans
>> are turned off on the same electrical circuit as the computer, but it's
>> very infrequent. Perhaps from EMI or a voltage spike...?
>> I originally had a generic chinese adapter (don't have lspci details,
>> sorry) that I swapped out because it was a much more frequent issue on that
>> one, and it mostly went away with the HP adapter.
>> 
>> After the failure occurs, I have to power cycle the computer a few times
>> before everything is working again (for both fw0 and fw1 devices to be
>> detected).
>> If I don't keep on power cycling until it works again, but instead:
>>  1. Disconnect the Profire 610 (fw1)
>>  2. Immediately power cycle
>>  3. --> The Firewire adapter (fw0) gets detected fine
>>  4. Unload firewire_ohci (modprobe -r firewire_ohci)
>>  5. Reconnect the Profire 610
>>  6. Load firewire_ohci (modprobe firewire_ohci)
>>  7. --> The Firewire adapter is not detected at all
>>  8. Unload firewire_ohci again (modprobe -r firewire_ohci)
>>  9. Disconnect the Profire 610
>>  10. Load firewire_ohci again (modprobe firewire_ohci)
>>  11. --> The Firewire adapter is detected again
>> 
>> If I mess around with the combination of reloading the firewire_ohci
>> module, connecting/disconnecting the Profire 610, and probing things with
>> FFADO, eventually a modprobe hangs indefinitely on wait_for_completion() in
>> the kernel with the dmesg logs in my original message.
>> Sometimes it even prevents systemd from powering off the computer (because
>> it's waiting for modprobe to exit from a SIGKILL...), which is why I wanted
>> to update the driver
>
>Two kernel messages are in your first post. The first one records that
>the system does not execute interrupt service routine for hardIRQ which
>should be triggered against any command request to transfer asynchronous packet
>when retrieving the detected node device. The second one records that the
>reference count of fw_card instance could not reach zero even if waiting so
>long when modprobe(8) executes the delete_module system call.
>
>I guess the cause of later message is the lost of hardIRQ in the first
>message, however, I would like you to compare timestamps for these
>messages.
>
>
>Thanks
>
>Takashi Sakamoto
>
>
>_______________________________________________
>mailing list [email protected]
>https://lists.sourceforge.net/lists/listinfo/linux1394-devel