-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Issues: 1. HVUI/Vulkan does not work on A14 yet. Reverted to GLES. 2. Updated wpa_supplicant does not connect to closed Wi-Fi networks. It was temporarily reverted to the A13 version. Signed-off-by: Roman Stratiienko <[email protected]>
- Loading branch information
Showing
22 changed files
with
1,298 additions
and
207 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 0 additions & 29 deletions
29
patches-aosp/build/soong/0001-GLODROID-Don-t-use-clang-tidy.patch
This file was deleted.
Oops, something went wrong.
37 changes: 37 additions & 0 deletions
37
patches-aosp/external/wpa_supplicant_8/0001-Add-netlink-public-header-library.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
From 13fed80854c281cc7eaf78e5848b10f5becb947a Mon Sep 17 00:00:00 2001 | ||
From: Jooyung Han <[email protected]> | ||
Date: Tue, 26 Jul 2022 12:56:00 +0900 | ||
Subject: [PATCH 1/3] Add netlink public header library | ||
|
||
libwifi-hal-bcm has been using the header via LOCAL_C_INCLUDES. To | ||
convert libwifi-hal-bcm into a Soong module, the header is exposed as a | ||
header lib. | ||
|
||
Bug: 239984067 | ||
Test: m libwifi-hal-bcm | ||
Merged-In: I92e044565b291c003cff9ac580dd36299fab9851 | ||
Change-Id: I92e044565b291c003cff9ac580dd36299fab9851 | ||
(cherry picked from commit eb043d58c236676a019ff8579d46b06f83a6daa1) | ||
--- | ||
Android.bp | 8 ++++++++ | ||
1 file changed, 8 insertions(+) | ||
|
||
diff --git a/Android.bp b/Android.bp | ||
index cbb1a90f..35cdb4f5 100644 | ||
--- a/Android.bp | ||
+++ b/Android.bp | ||
@@ -26,3 +26,11 @@ license { | ||
], | ||
license_text: ["LICENSE"], | ||
} | ||
+ | ||
+cc_library_headers { | ||
+ name: "libnetlink_iface_headers", | ||
+ vendor_available: true, | ||
+ export_include_dirs: [ | ||
+ "src/drivers", | ||
+ ], | ||
+} | ||
-- | ||
2.39.2 | ||
|
30 changes: 30 additions & 0 deletions
30
...hes-aosp/external/wpa_supplicant_8/0002-Decalre-a-soong-module-for-hostapd-manifest.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
From c5ccabd03d222c26b8a255f3e4c9b5ec3a002270 Mon Sep 17 00:00:00 2001 | ||
From: Jeongik Cha <[email protected]> | ||
Date: Fri, 18 Nov 2022 15:09:34 +0900 | ||
Subject: [PATCH 2/3] Decalre a soong module for hostapd manifest | ||
|
||
Bug: 202992812 | ||
Bug: 259516259 | ||
Test: build | ||
Change-Id: Ibc2b7a0d66f6c07660dee96a6a3f7976687ce18e | ||
--- | ||
hostapd/Android.bp | 6 ++++++ | ||
1 file changed, 6 insertions(+) | ||
|
||
diff --git a/hostapd/Android.bp b/hostapd/Android.bp | ||
index 2a252080..3194d369 100644 | ||
--- a/hostapd/Android.bp | ||
+++ b/hostapd/Android.bp | ||
@@ -318,3 +318,9 @@ filegroup { | ||
], | ||
|
||
} | ||
+ | ||
+// This manifest can used by a vendor apex module for hostapd as well. | ||
+filegroup { | ||
+ name: "android.hardware.wifi.hostapd.xml", | ||
+ srcs: ["android.hardware.wifi.hostapd.xml"], | ||
+} | ||
-- | ||
2.39.2 | ||
|
157 changes: 157 additions & 0 deletions
157
...external/wpa_supplicant_8/0003-Remove-a-host-of-incorrect-OPENSSL_IS_BORINGSSL-ifde.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
From 61b76bf4a6ee2a1b47aea2d47baa22cfe8e43568 Mon Sep 17 00:00:00 2001 | ||
From: David Benjamin <[email protected]> | ||
Date: Mon, 13 Jun 2022 12:22:05 -0400 | ||
Subject: [PATCH 3/3] Remove a host of incorrect OPENSSL_IS_BORINGSSL ifdefs | ||
|
||
The <openssl/buf.h> include is neccessary in both OpenSSL and BoringSSL | ||
because the file uses BUF_MEM (IWYU). It's just that OpenSSL spells it | ||
<openssl/buffer.h>, not matching the type, so use the compatible | ||
spelling. | ||
|
||
Additionally all the CHECKED_CAST and manual STACK_OF(T) definitions are | ||
calling into BoringSSL internals that we were only keeping around for | ||
compatible with wpa_supplicant's incorrect use of the APIs. The correct | ||
APIs are simply to just use the same code as OpenSSL and call the | ||
DEFINE_STACK_OF macros. | ||
|
||
(tls_openssl_ocsp.c needs to be rewritten entirely later, as the use of | ||
<openssl/asn1t.h> is also quite dangerous, but I've left that alone for | ||
now.) | ||
|
||
Test: treehugger | ||
Change-Id: Id923db6513f9e2833854322994aa3a113ee1579d | ||
--- | ||
hs20/client/est.c | 28 +++------------------------- | ||
src/crypto/tls_openssl_ocsp.c | 8 +------- | ||
src/utils/http_curl.c | 23 ----------------------- | ||
3 files changed, 4 insertions(+), 55 deletions(-) | ||
|
||
diff --git a/hs20/client/est.c b/hs20/client/est.c | ||
index 97f91321..c3f27e1e 100644 | ||
--- a/hs20/client/est.c | ||
+++ b/hs20/client/est.c | ||
@@ -17,9 +17,7 @@ | ||
#include <openssl/x509.h> | ||
#include <openssl/x509v3.h> | ||
#include <openssl/opensslv.h> | ||
-#ifdef OPENSSL_IS_BORINGSSL | ||
-#include <openssl/buf.h> | ||
-#endif /* OPENSSL_IS_BORINGSSL */ | ||
+#include <openssl/buffer.h> | ||
|
||
#include "common.h" | ||
#include "utils/base64.h" | ||
@@ -220,9 +218,7 @@ typedef struct { | ||
} d; | ||
} AttrOrOID; | ||
|
||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(OPENSSL_IS_BORINGSSL) | ||
DEFINE_STACK_OF(AttrOrOID) | ||
-#endif | ||
|
||
typedef struct { | ||
int type; | ||
@@ -340,30 +336,13 @@ static void add_csrattrs(struct hs20_osu_client *ctx, CsrAttrs *csrattrs, | ||
if (!csrattrs || ! csrattrs->attrs) | ||
return; | ||
|
||
-#ifdef OPENSSL_IS_BORINGSSL | ||
- num = sk_num(CHECKED_CAST(_STACK *, STACK_OF(AttrOrOID) *, | ||
- csrattrs->attrs)); | ||
- for (i = 0; i < num; i++) { | ||
- AttrOrOID *ao = sk_value( | ||
- CHECKED_CAST(_STACK *, const STACK_OF(AttrOrOID) *, | ||
- csrattrs->attrs), i); | ||
- switch (ao->type) { | ||
- case 0: | ||
- add_csrattrs_oid(ctx, ao->d.oid, exts); | ||
- break; | ||
- case 1: | ||
- add_csrattrs_attr(ctx, ao->d.attribute, exts); | ||
- break; | ||
- } | ||
- } | ||
-#else /* OPENSSL_IS_BORINGSSL */ | ||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(OPENSSL_IS_BORINGSSL) | ||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L | ||
num = sk_AttrOrOID_num(csrattrs->attrs); | ||
#else | ||
num = SKM_sk_num(AttrOrOID, csrattrs->attrs); | ||
#endif | ||
for (i = 0; i < num; i++) { | ||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(OPENSSL_IS_BORINGSSL) | ||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L | ||
AttrOrOID *ao = sk_AttrOrOID_value(csrattrs->attrs, i); | ||
#else | ||
AttrOrOID *ao = SKM_sk_value(AttrOrOID, csrattrs->attrs, i); | ||
@@ -377,7 +356,6 @@ static void add_csrattrs(struct hs20_osu_client *ctx, CsrAttrs *csrattrs, | ||
break; | ||
} | ||
} | ||
-#endif /* OPENSSL_IS_BORINGSSL */ | ||
} | ||
|
||
|
||
diff --git a/src/crypto/tls_openssl_ocsp.c b/src/crypto/tls_openssl_ocsp.c | ||
index b570bea0..a74e6f3d 100644 | ||
--- a/src/crypto/tls_openssl_ocsp.c | ||
+++ b/src/crypto/tls_openssl_ocsp.c | ||
@@ -216,13 +216,7 @@ ASN1_SEQUENCE(BasicOCSPResponse) = { | ||
|
||
IMPLEMENT_ASN1_FUNCTIONS(BasicOCSPResponse); | ||
|
||
-#define sk_SingleResponse_num(sk) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(SingleResponse) *, sk)) | ||
- | ||
-#define sk_SingleResponse_value(sk, i) \ | ||
- ((SingleResponse *) \ | ||
- sk_value(CHECKED_CAST(_STACK *, STACK_OF(SingleResponse) *, sk), (i))) | ||
- | ||
+DEFINE_STACK_OF(SingleResponse) | ||
|
||
static char * mem_bio_to_str(BIO *out) | ||
{ | ||
diff --git a/src/utils/http_curl.c b/src/utils/http_curl.c | ||
index 30b07f23..77d5b357 100644 | ||
--- a/src/utils/http_curl.c | ||
+++ b/src/utils/http_curl.c | ||
@@ -433,28 +433,6 @@ ASN1_SEQUENCE(LogotypeExtn) = { | ||
|
||
IMPLEMENT_ASN1_FUNCTIONS(LogotypeExtn); | ||
|
||
-#ifdef OPENSSL_IS_BORINGSSL | ||
-#define sk_LogotypeInfo_num(st) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(LogotypeInfo) *, (st))) | ||
-#define sk_LogotypeInfo_value(st, i) (LogotypeInfo *) \ | ||
-sk_value(CHECKED_CAST(_STACK *, const STACK_OF(LogotypeInfo) *, (st)), (i)) | ||
-#define sk_LogotypeImage_num(st) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(LogotypeImage) *, (st))) | ||
-#define sk_LogotypeImage_value(st, i) (LogotypeImage *) \ | ||
-sk_value(CHECKED_CAST(_STACK *, const STACK_OF(LogotypeImage) *, (st)), (i)) | ||
-#define sk_LogotypeAudio_num(st) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(LogotypeAudio) *, (st))) | ||
-#define sk_LogotypeAudio_value(st, i) (LogotypeAudio *) \ | ||
-sk_value(CHECK_CAST(_STACK *, const STACK_OF(LogotypeAudio) *, (st)), (i)) | ||
-#define sk_HashAlgAndValue_num(st) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(HashAlgAndValue) *, (st))) | ||
-#define sk_HashAlgAndValue_value(st, i) (HashAlgAndValue *) \ | ||
-sk_value(CHECKED_CAST(_STACK *, const STACK_OF(HashAlgAndValue) *, (st)), (i)) | ||
-#define sk_ASN1_IA5STRING_num(st) \ | ||
-sk_num(CHECKED_CAST(_STACK *, STACK_OF(ASN1_IA5STRING) *, (st))) | ||
-#define sk_ASN1_IA5STRING_value(st, i) (ASN1_IA5STRING *) \ | ||
-sk_value(CHECKED_CAST(_STACK *, const STACK_OF(ASN1_IA5STRING) *, (st)), (i)) | ||
-#else /* OPENSSL_IS_BORINGSSL */ | ||
#if OPENSSL_VERSION_NUMBER < 0x10100000L | ||
#define sk_LogotypeInfo_num(st) SKM_sk_num(LogotypeInfo, (st)) | ||
#define sk_LogotypeInfo_value(st, i) SKM_sk_value(LogotypeInfo, (st), (i)) | ||
@@ -473,7 +451,6 @@ DEFINE_STACK_OF(LogotypeAudio) | ||
DEFINE_STACK_OF(HashAlgAndValue) | ||
DEFINE_STACK_OF(ASN1_IA5STRING) | ||
#endif | ||
-#endif /* OPENSSL_IS_BORINGSSL */ | ||
|
||
|
||
static void add_logo(struct http_ctx *ctx, struct http_cert *hcert, | ||
-- | ||
2.39.2 | ||
|
39 changes: 39 additions & 0 deletions
39
patches-aosp/frameworks/base/0001-HWUI-Fix-deadlock-in-graphics-pipeline.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
From 2be0dae3f8fb3c912edb49dba2f2cd434b8d9401 Mon Sep 17 00:00:00 2001 | ||
From: Roman Stratiienko <[email protected]> | ||
Date: Thu, 19 Oct 2023 03:37:01 +0300 | ||
Subject: [PATCH] HWUI: Fix deadlock in graphics pipeline | ||
|
||
Mutex lock() causes deadlock when the queue is empty. | ||
Regression is caused by b013c8dee3b3e897b3557206f2d6c75b8c9f2f84 | ||
For some unknown reason, it is reproduced only on GloDroid :) | ||
So probably some other part of GD is to blame. | ||
Or, it is just a coincidence. | ||
|
||
TODO: Do one more investigation attempt. | ||
|
||
Change-Id: Ic981947babe62b83032e9ba1630cc0458c228f44 | ||
Signed-off-by: Roman Stratiienko <[email protected]> | ||
--- | ||
libs/hwui/renderthread/CanvasContext.cpp | 6 +++++- | ||
1 file changed, 5 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp | ||
index 16b35ffcabac..a9dde31e83e7 100644 | ||
--- a/libs/hwui/renderthread/CanvasContext.cpp | ||
+++ b/libs/hwui/renderthread/CanvasContext.cpp | ||
@@ -586,7 +586,11 @@ void CanvasContext::draw(bool solelyTextureViewUpdates) { | ||
// not visible to IRenderPipeline much less FrameInfoVisualizer. And since this is | ||
// the thread we're primarily concerned about being responsive, this being too broad | ||
// shouldn't pose a performance issue. | ||
- std::scoped_lock lock(mFrameMetricsReporterMutex); | ||
+ | ||
+// Causes deadlock when the queue is empty. Regression is caused by b013c8dee3b3e897b3557206f2d6c75b8c9f2f84 | ||
+// For some unknown reason, it is reproduced only on GloDroid :) So probably some other part of GD is to blame. Or, it is just a coincidence. | ||
+// std::scoped_lock lock(mFrameMetricsReporterMutex); | ||
+ | ||
drawResult = mRenderPipeline->draw(frame, windowDirty, dirty, mLightGeometry, | ||
&mLayerUpdateQueue, mContentDrawBounds, mOpaque, | ||
mLightInfo, mRenderNodes, &(profiler()), mBufferParams); | ||
-- | ||
2.39.2 | ||
|
Oops, something went wrong.