-
Notifications
You must be signed in to change notification settings - Fork 164
NetworkPkg: Handle UDP4 polling failures #1595
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: release/202502
Are you sure you want to change the base?
NetworkPkg: Handle UDP4 polling failures #1595
Conversation
`EfiDhcp4Start()` would spin forever if `DhcpSb->IoStatus` is not updated from `EFI_ALREADY_STARTED`. This change captures the poll status (instead of ignoring it) and break out on failures so scenarios like unplug/media-loss return an error instead of hanging. Signed-off-by: Michael Kubacki <[email protected]>
a3f22d4 to
d39e686
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## release/202502 #1595 +/- ##
================================================
Coverage ? 0.55%
================================================
Files ? 165
Lines ? 71951
Branches ? 1750
================================================
Hits ? 402
Misses ? 71542
Partials ? 7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| DhcpSb->UdpIo->Protocol.Udp4->Poll (DhcpSb->UdpIo->Protocol.Udp4); | ||
| // MU_CHANGE [BEGIN] - Add Udp4 Polling break support | ||
| Status = DhcpSb->UdpIo->Protocol.Udp4->Poll (DhcpSb->UdpIo->Protocol.Udp4); | ||
| if (EFI_ERROR (Status)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the intention to catch things like EFI_DEIVCE_ERROR? Should this have an exception for EFI_TIMEOUT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, the goal is to use the Poll() return code to prevent the system from hanging in the loop if polling encounters an error. I'll check if an exception for EFI_TIMEOUT should be added.
Description
EfiDhcp4Start()would spin forever ifDhcpSb->IoStatusis not updated fromEFI_ALREADY_STARTED.This change captures the poll status (instead of ignoring it) and break out on failures so scenarios like unplug/media-loss return an error instead of hanging.
How This Was Tested
Integration Instructions