From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org
Subject: [GIT PULL] firewire fixes for v6.8-rc7
Date: Sun, 3 Mar 2024 08:12:42 +0900 [thread overview]
Message-ID: <20240302231242.GA33788@workstation.local> (raw)
Hi Linus,
Please pull the following fixes for the next RC from firewire tree.
We have identified a long-standing issue involving continuous bus resets
in some older devices (e.g. DV camera manufactured in the late 1990s).
After thorough investigation, Adam Goldman has finally figured out the
underlying mechanism.
The problem arises in environments where both IEEE 1394:1995 PHY and
IEEE 1394a-2000 (or later) PHY exist. It is triggered by the short bus
reset defined in IEEE 1394a-2000. The current implementation of firewire
stack uses this short bus reset to solve the gap count mismatches in the
certain generation of bus topology, and causing the issue.
As a workaround, we decided to use the long bus reset instead. I anticipate
that the workaround will also be applied to the stable kernel and the
longterm kernels.
The following changes since commit d206a76d7d2726f3b096037f2079ce0bd3ba329b:
Linux 6.8-rc6 (2024-02-25 15:46:06 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git tags/firewire-fixes-6.8-rc7
for you to fetch changes up to d0b06dc48fb15902d7da09c5c0861e7f042a9381:
firewire: core: use long bus reset on gap count error (2024-02-29 22:18:14 +0900)
----------------------------------------------------------------
firewire-fixes-6.8-rc7
A workaround to suppress the continuous bus resets in the case that older
devices are connected to the modern 1394 OHCI hardware and devices
In IEEE 1394 Amendment (IEEE 1394a-2000), the short bus reset is added to
resolve the shortcomings of the long bus reset in IEEE 1394-1995. However,
it is well-known that the solution is not necessarily effective in the
mixing environment that both IEEE 1394-1995 PHY and IEEE 1394a-2000 (or
later) PHY exist, as described in section 8.4.6.2 of IEEE 1394a-2000.
The current implementation of firewire stack schedules the short bus
reset when attempting to resolve the mismatch of gap count in the certain
generation of bus topology. It can cause the continuous bus reset in the
issued environment.
The workaround simply uses the long bus reset instead of the short bus
reset. It is desirable to detect whether the issued environment or not.
However, the way to access PHY registers from remote note is firstly
defined in IEEE 1394a-2000, thus it is not available in the case.
----------------------------------------------------------------
Takashi Sakamoto (1):
firewire: core: use long bus reset on gap count error
drivers/firewire/core-card.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
Thanks
Takashi Sakamoto
next reply other threads:[~2024-03-02 23:12 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-02 23:12 Takashi Sakamoto [this message]
2024-03-02 23:20 ` pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240302231242.GA33788@workstation.local \
--to=o-takashi@sakamocchi.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®