Date: Mon, 20 Jul 2026 22:50:20 +0000 From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: Abdelkader Boudih <freebsd@seuros.com> Subject: git: 23ea903f6801 - main - firewire: force root change when root node is not cycle master capable Message-ID: <6a5ea62c.31b90.15b33c5b@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=23ea903f68017f781ff579325caa01c928612d57 commit 23ea903f68017f781ff579325caa01c928612d57 Author: Abdelkader Boudih <freebsd@seuros.com> AuthorDate: 2026-07-20 22:47:49 +0000 Commit: Adrian Chadd <adrian@FreeBSD.org> CommitDate: 2026-07-20 22:47:58 +0000 firewire: force root change when root node is not cycle master capable When a FireWire bus resets, all devices negotiate who is the new boss. when we detect the root node can't be cycle master, we send a PHY config packet that forces a reelection. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D58309 --- sys/dev/firewire/firewire.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index cc0cf9e5b7ad..1020aff31929 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -2491,9 +2491,10 @@ fw_bmr(struct firewire_comm *fc) cmstr = fc->max_node; else { device_printf(fc->bdev, - "root node is not cycle master capable\n"); - /* TODO: issue PHY config to force root change + bus reset */ - cmstr = fc->nodeid; + "root node is not cycle master capable, " + "forcing root to node %d\n", fc->nodeid); + fw_phy_config(fc, fc->nodeid, -1); + return 0; } } else cmstr = -1;home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a5ea62c.31b90.15b33c5b>
