Page MenuHomeFreeBSD

ure: lock MII bus operations
Needs ReviewPublic

Authored by rkitover_gmail.com on Sat, Mar 28, 10:50 PM.
Referenced Files
Unknown Object (File)
Thu, Apr 16, 1:39 AM
Unknown Object (File)
Thu, Apr 16, 12:20 AM
Unknown Object (File)
Sat, Apr 11, 10:41 PM
Unknown Object (File)
Sat, Apr 11, 8:05 PM
Unknown Object (File)
Sat, Apr 11, 2:15 PM
Unknown Object (File)
Sat, Apr 11, 8:22 AM
Unknown Object (File)
Wed, Apr 8, 10:01 AM
Unknown Object (File)
Wed, Apr 8, 6:37 AM
Subscribers

Details

Summary

A race condition in the MII layer causes spurious events, see:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252165

. Use a lock to serialize access to MII operations and drop ticks when
MII is locked.

Signed-off-by: Rafael Kitover <rkitover@gmail.com>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 71787
Build 68670: arc lint + arc unit

Event Timeline

I'd be happy to review this, but I need reproduction steps.

Hi @pouria.

I can reproduce below steps

Device: Raspberry Pi Zero 2W(arm64)
OS: 15.0-RELEASE + (D55682) (maybe also -current)
Setup : CARP configured on the ure interface.
Dongle: Lenovo USB-C to LAN

Steps:
Machine A (Remote): Run ping [Unassigned Local IP].
Machine B (Target): Run the route -n monitor command in four separate instances and more.

Result: NG (Failed)

and this change is fixed(I'm still testing some devices. After finish, I will report it)

Does anyone know how I can get an adapter or hub device with the C variant chip (latest revision?)