Page MenuHomeFreeBSD

usb_quirk: implement bad remote wakeup and add ASM1074 SS
AcceptedPublic

Authored by mchoo on Jul 2 2026, 12:08 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 17, 12:28 PM
Unknown Object (File)
Fri, Oct 16, 12:55 PM
Unknown Object (File)
Wed, Oct 14, 6:34 AM
Unknown Object (File)
Wed, Oct 14, 5:32 AM
Unknown Object (File)
Wed, Oct 14, 5:15 AM
Unknown Object (File)
Tue, Oct 13, 11:03 PM
Unknown Object (File)
Tue, Oct 13, 11:03 PM
Unknown Object (File)
Tue, Oct 13, 9:02 PM

Details

Reviewers
aokblast
ziaee
Group Reviewers
USB
manpages
Summary

Some devices (e.g. ASM1074) reports remote wakeup working, but the
functionality is not implemented on the controller. As a result,
they spam dmesg with {resume,suspend}_peer error message.

PR: 292613

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
No Test Coverage
Build Status
Buildable 78138
Build 75021: arc lint + arc unit

Event Timeline

mchoo requested review of this revision.Jul 2 2026, 12:08 AM
sys/dev/usb/usb_device.h
97–99

It's my first time to usb code, and I'm not sure how to implement this using existing remote_wakeup as usb_dev_{resume,suspend}_peer() don't seem to use it.

sys/dev/usb/usb_device.h
97–99

It's my first time to usb code, and I'm not sure how to implement this using existing remote_wakeup as usb_dev_{resume,suspend}_peer() don't seem to use it.

I think we can test the quirk in tr_handle_clear_wakeup branch of usb_handle_request to skip calling usb_handle_remote_wakeup.

bz added inline comments.
sys/dev/usb/usbdevs
1290

Indentation looks strange

  • Fix indent, conditional, and typo
  • Add ASM2 vendor
mchoo marked an inline comment as done.
mchoo added inline comments.
sys/dev/usb/usb_device.h
97–99

The current approach is correct.

I tink we still need to check this flag in usb_handle_remote_wakeup like (is_on && bsd_remote)

Add check to usb_handle_remote_wakeup()

This revision is now accepted and ready to land.Tue, Oct 13, 7:34 PM
ziaee added a reviewer: manpages.