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
Unknown Object (File)
Sun, Aug 2, 6:31 AM
Unknown Object (File)
Sun, Aug 2, 4:11 AM
Unknown Object (File)
Sat, Aug 1, 7:50 AM
Unknown Object (File)
Fri, Jul 31, 9:08 AM
Unknown Object (File)
Thu, Jul 30, 7:47 PM
Unknown Object (File)
Thu, Jul 30, 5:07 AM
Unknown Object (File)
Wed, Jul 29, 4:00 PM
Unknown Object (File)
Wed, Jul 29, 12:02 PM
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 Not Applicable
Unit
Tests Not Applicable