-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Clear endpoint bitmask before reporting the PartList attribute #29673
Conversation
PR #29673: Size comparison from c534070 to 46690ff Increases (12 builds for bl702, bl702l, cc32xx, psoc6)
Decreases (26 builds for bl702, bl702l, cc32xx, esp32, linux, nrfconnect, psoc6, telink)
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
46690ff
to
71d158c
Compare
PR #29673: Size comparison from 5647e0a to 71d158c Increases (12 builds for bl702, bl702l, cc32xx, psoc6)
Decreases (25 builds for bl702, bl702l, cc32xx, esp32, linux, nrfconnect, psoc6, telink)
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
When we set a low value to the minimum subscription interval for subscription for the PartList attribute of the Description cluster, and then remove a dynamic endpoint the related bitmask may change after reporting it to a controller. The controller receives the old number of endpoints and does not update it within the following subscriptions until the next change of the PartList attribute occurs. To resolve the issue the endpoint bitmask should be cleared before reporting the PartList attribute of the Descriptor cluster to avoid race conditions.
71d158c
to
ae9e7b2
Compare
PR #29673: Size comparison from ffd1571 to ae9e7b2 Increases (12 builds for bl702, bl702l, cc32xx, psoc6)
Decreases (30 builds for bl702, bl702l, cc32xx, esp32, linux, nrfconnect, psoc6, telink)
Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
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, this looks great. I was worried about the fact that we were clearing it even if "currentlyEnabled == enable" and now won't, but of course in that case the bit is already cleared.
…ct-chip#29673) When we set a low value to the minimum subscription interval for subscription for the PartList attribute of the Description cluster, and then remove a dynamic endpoint the related bitmask may change after reporting it to a controller. The controller receives the old number of endpoints and does not update it within the following subscriptions until the next change of the PartList attribute occurs. To resolve the issue the endpoint bitmask should be cleared before reporting the PartList attribute of the Descriptor cluster to avoid race conditions.
When we set a low value to the minimum subscription interval for subscription for the PartList attribute of the Description cluster, and then remove a dynamic endpoint the related bitmask may change after reporting it to a controller.
The controller receives the old number of endpoints and does not update it within the following subscriptions until the next change of the PartList attribute occurs.
To resolve the issue the endpoint bitmask should be cleared before reporting the PartList attribute of the Descriptor cluster to avoid race conditions.