tree 5b04597df3b787e549020f5efe14fcbaca2073b5
parent d509e8ce1b44f1f7b97a8913dec6f786b9c97f35
parent a5430e4599533a5bdb3a9139984601c833e3f04a
author Tim Zimmermann <tim@linux4.de> 1718474047 +0200
committer Tim Zimmermann <tim@linux4.de> 1718532863 +0200
mergetag object a5430e4599533a5bdb3a9139984601c833e3f04a
 type commit
 tag android-14.0.0_r50
 tagger The Android Open Source Project <initial-contribution@android.com> 1718055844 -0700
 
 Android 14.0.0 Release 50 (AP2A.240605.024)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZmdzpAAKCRDorT+BmrEO
 eC3RAJ4lVJQ3YRf86dWyoRptqIZ9fyOorQCfSONcZpfNZXOR4fwNWF57yMuQIC4=
 =eWcX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuwYxAyE4TRnuhLgPbcIaY/gZxe8FAmZuuwAACgkQbcIaY/gZ
 xe+3qw//W39blQk9CdIjaK1Z0Es6fV6yXwTQ6Dvwkz8KyYe5hIasFcoa/HEOBtqq
 Y2MKLcJKSFrGzJRCCqtPB77gl3WOkP/O5fuGGF0ZO77efgoXaRzXzi9BJ9d8+vGK
 AqS9F4cWqRiOloEl4vO87uduzB0XDd+zVm+FmVwpTcZsSezjUVy4idAahO2RC8Qd
 ky1/K1fnitfSQptNKtQWrs3Wwd/XCc0i7BkXcNINiEtX7HmxKpmhXTf5aEdZ5s0e
 7dcYPmCyaQmwaRlEdNmFiz4YurTnuluvvj3c8DYxV1C1/7hIY3f08alZTikKKQhN
 qno1EbUHfHU0hgQXzv1YDFC1sAkLsFUvmAl8WRKFiRWIkQNM+gqwykuGQQs1eFbI
 8Zb+Sj0bG3ajib+Dr7o45XYZWF/85IswEqp/FnmA7bbqw+Bjqc5XVFrv1scwEMZL
 vF77/3MobwEh9cPRkJG/K16hYmZhf5PS2jbdkOC+m7rhVYjzuKo7LUxiCkwngzot
 GjqGKahfMXyv1evPU8L+zjx8K/cW2vmJMGMwy3s2YvoprUaYzT8OmUrkw0YfAGIj
 pL9p7hKzY8GmwvcAdsw90zMsi/4+YRbb5iNrUeNou8lzVTwkjDattCPob0Sa523d
 k+nmC0e5pZ0MNC8S1own1xz6imfx8EeGHl3mcFjuqVEqu9S1qVg=
 =vrVX
 -----END PGP SIGNATURE-----

Merge tag 'android-14.0.0_r50' into leaf-3.2

Android 14.0.0 Release 50 (AP2A.240605.024)

* tag 'android-14.0.0_r50': (26 commits)
  Check the client interface version
  Add SDK check to decide the callback
  Add HAL service implementation for configureMscs and disableMscs.
  Move downlink-specific QoS processing into an if-block.
  Add method to convert from AIDL QosCharacteristics type to the supplicant equivalent.
  Support loading configs from APEX
  Revert apex support from wpa_supplicant
  wpa_supplicant_8: Add support to update AP TID-to-link negotiation to Framework.
  Return successful status code from the MSCS HAL APIs.
  Fix aidl_psk_aes_unwrap in macsec
  Handling pmk addition in supplicant cache for 80211x connections
  Revert "nl80211: Skip interface down/up when setting MAC address"
  Add comment to indicate that WifiChannelWidthInMhz is copied from the Vendor HAL.
  Revert "Import WifiChannelWidthInMhz from the Vendor HAL interface"
  Set NL80211_WPA_VERSION_2 for all RSN connection
  Set NL80211_WPA_VERSION_2 for all RSN connection
  Set NL80211_WPA_VERSION_2 for all RSN connection
  Handle PMKSA flush in the driver for SAE/OWE offload cases
  Default implementation for addGroupWithParams
  Default implementation for addGroupWithConfigurationParams
  ...

Change-Id: I8642b0358876d7564140b880543a7e6d10d6845f
