Bluetooth: hci_nxp: Fix Unique ID offset when setting MAC address #98623
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    


This patch corrects a logical error in the
bt_nxp_set_mac_addressfunctionwhere a dynamically generated Bluetooth MAC address uses the device's
Unique ID (UID) for its local part (3 LSBs).
Problem:
The offset calculation used in
memcpywas:uid + uuidLen - (BD_ADDR_UUID_PART_SIZE + 1)This resulted in missing the last byte of the actual UID data, potentially
leading to non-unique or less-random MAC addresses when the UID is
longer than 3 bytes.
Fix:
The offset is corrected to use only the size of the MAC part:
uid + uuidLen - BD_ADDR_UUID_PART_SIZEThis ensures the last
BD_ADDR_UUID_PART_SIZE(3) bytes of the MCUUID are used as intended.