summaryrefslogtreecommitdiff
path: root/meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch')
-rw-r--r--meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch b/meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch
new file mode 100644
index 000000000..8306f8a66
--- /dev/null
+++ b/meta-extras/packages/openmoko/libgsmd/vendor-qc-v0.patch
@@ -0,0 +1,38 @@
+Index: gsm/src/gsmd/vendor_qc.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_qc.c 2007-06-13 20:13:47.000000000 +0200
++++ gsm/src/gsmd/vendor_qc.c 2007-06-13 20:45:19.000000000 +0200
+@@ -81,6 +88,9 @@
+ {
+ /* FIXME: do actual detection of vendor if we have multiple vendors */
+ /* open /proc/cpuinfo and check for HTC Universal? */
++
++ /* The Qualcomm chip starts in V0 mode */
++ g->flags |= GSMD_FLAG_V0;
+ return 1;
+ }
+
+Index: gsm/src/gsmd/gsmd.c
+===================================================================
+--- gsm.orig/src/gsmd/gsmd.c 2007-06-13 20:13:47.000000000 +0200
++++ gsm/src/gsmd/gsmd.c 2007-06-13 20:49:54.000000000 +0200
+@@ -62,7 +62,8 @@
+ {
+ struct gsmd_alive_priv *alp = ctx;
+
+- if (!strcmp(resp, "OK"))
++ if (!strcmp(resp, "OK") ||
++ ((alp->gsmd->flags & GSMD_FLAG_V0) && resp[0] == '0'))
+ alp->alive_responded = 1;
+ return 0;
+ }
+@@ -201,7 +202,8 @@
+ {
+ struct gsmd *gsmd = ctx;
+
+- if (strcmp(resp, "OK")) {
++ if (strcmp(resp, "OK") &&
++ (!(gsmd->flags & GSMD_FLAG_V0) || resp[0] != '0')) {
+ gsmd_log(GSMD_FATAL, "response '%s' to initial command invalid", resp);
+ exit(5);
+ }