int multipdp_rx_cback( char *buf, int len) { int i=0; int ret = 0; struct pdp_hdr * phdr = NULL; for( i=0; i < len; i++) { if (buf[i] == 0x7f) { //printk("multipdp_demux : start = %d, len=%d\n", i+1, len-i-1); phdr = (struct pdp_hdr*)&buf[i+1]; //if( i > 1 ) // printk("================> multipdp_rx_cback : i = %d\n", i); if( buf[i+phdr->len+1] != 0x7E) printk("==== NOT 0x7E ...\n"); ret = multipdp_demux( (char *)&buf[i+1], len-i-1); //i = i + phdr->len + 2; i = i + phdr->len+1; //printk("multipdp_demux : end ret = %d, next i = %d\n", ret, i); if( ret < 0 || ret == 0 ) { printk("multipdp_demux : Error .. ret[%d]!!!!!!\n", ret); break; } } //printk("~~~~>> Header mismatch : , buf[%d] = 0x%x\n", i, buf[i]); } return(i); }
int multipdp_rx_cback(char *buf, int len) { int i = 0; int ret = 0; struct pdp_hdr *phdr = NULL; DPRINTK(2, "Receive packet size from cp=%d\n", len); for (i = 0; i < len; i++) { if (buf[i] == 0x7f) { phdr = (struct pdp_hdr *)&buf[i + 1]; if (buf[i + phdr->len + 1] != 0x7E) pr_err("[MULTIPDP] NOT 0x7E (Not end byte)\n"); ret = multipdp_demux((char *)&buf[i + 1], len - i - 1); i = i + phdr->len + 1; if (ret < 0 || ret == 0) break; } else pr_err("[MULTIPDP] NOT 0x7F (Not start byte)\n"); } return i; }