comparison gsm-fw/g23m-aci/aci/ati_bas.c @ 854:acc9e473e93f

gsm-fw/g23m-aci/aci/ati_bas.c: +CGxx fix in preparation for enabling MokoFFS
author Space Falcon <falcon@ivan.Harhan.ORG>
date Thu, 30 Apr 2015 02:56:40 +0000
parents 5cc8a442efad
children
comparison
equal deleted inserted replaced
853:ae254ffeaec3 854:acc9e473e93f
2214 */ 2214 */
2215 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef) 2215 LOCAL T_ATI_RSLT aciPrcsPlusCG (UBYTE srcId, CHAR* cl, CHAR* ef)
2216 { 2216 {
2217 pcm_FileInfo_Type fileInfo; 2217 pcm_FileInfo_Type fileInfo;
2218 USHORT i; 2218 USHORT i;
2219 char *cp;
2219 2220
2220 TRACE_FUNCTION("aciPrcsPlusCG()"); 2221 TRACE_FUNCTION("aciPrcsPlusCG()");
2221 2222
2222 if (pcm_GetFileInfo ((UBYTE* )ef, &fileInfo) NEQ DRV_OK) 2223 if (pcm_GetFileInfo ((UBYTE* )ef, &fileInfo) NEQ DRV_OK)
2223 { 2224 {
2224 cmdCmeError (CME_ERR_MemFail); 2225 cmdCmeError (CME_ERR_MemFail);
2225 return ATI_FAIL; 2226 return ATI_FAIL;
2226 } 2227 }
2227
2228 2228
2229 if (pcm_ReadFile ((UBYTE*)ef, fileInfo.FileSize, 2229 if (pcm_ReadFile ((UBYTE*)ef, fileInfo.FileSize,
2230 (UBYTE*)g_sa, &fileInfo.Version) NEQ DRV_OK) 2230 (UBYTE*)g_sa, &fileInfo.Version) NEQ DRV_OK)
2231 { 2231 {
2232 cmdCmeError (CME_ERR_MemFail); 2232 cmdCmeError (CME_ERR_MemFail);
2233 return ATI_FAIL; 2233 return ATI_FAIL;
2234 } 2234 }
2235 2235
2236 i = 0; 2236 i = 0;
2237 while ((UBYTE)g_sa[i] NEQ 0xFF) 2237 while ((UBYTE)g_sa[i] NEQ 0xFF AND i < fileInfo.FileSize)
2238 {
2239 i++; 2238 i++;
2240 }
2241 g_sa[i] = '\0'; 2239 g_sa[i] = '\0';
2240
2241 #if CONFIG_MOKOFFS
2242 /*
2243 * Openmoko's FFS has a /pcm/CGMR file programmed like this:
2244 *
2245 * GTA02BV4/Moko5
2246 *
2247 * When queried for +CGMR, we would like to report the hardware revision
2248 * from FFS, but also tell the user that we are FreeCalypso and not Moko5.
2249 * Hence the following hack.
2250 */
2251 if ((cp = strchr(g_sa, '/')) && !strncmp(cp + 1, "Moko", 4))
2252 strcpy(cp + 1, "FreeCalypso");
2253 #endif
2254
2242 io_sendMessage (srcId, g_sa, ATI_NORMAL_OUTPUT ); 2255 io_sendMessage (srcId, g_sa, ATI_NORMAL_OUTPUT );
2243 2256
2244 return ATI_CMPL; 2257 return ATI_CMPL;
2245 } 2258 }
2246 2259