Page MenuHomeFreeBSD

firewire: force root change when root node is not cycle master capable
ClosedPublic

Authored by guest-seuros on Fri, Jul 17, 4:45 PM.
Referenced Files
F164191530: D58309.diff
Wed, Jul 29, 12:02 PM
Unknown Object (File)
Tue, Jul 28, 10:31 AM
Unknown Object (File)
Sun, Jul 26, 6:55 AM
Unknown Object (File)
Sun, Jul 26, 2:35 AM
Unknown Object (File)
Sat, Jul 25, 9:13 AM
Unknown Object (File)
Sat, Jul 25, 6:25 AM
Unknown Object (File)
Sat, Jul 25, 6:19 AM
Unknown Object (File)
Sat, Jul 25, 4:18 AM
Subscribers

Details

Summary

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.

Test Plan

Problem: sometimes a dumb device (like a disk enclosure or a camera) wins the root election,
but it can't actually do the cycle master.

Quick check: plug the iSight into a chain with a FireWire disk,
and the camera stream actually starts instead of silently failing because the disk grabbed root.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 74894
Build 71777: arc lint + arc unit