--- fwsync/driver/fwsync.c 2022/06/29 19:44:58 1.2 +++ fwsync/driver/fwsync.c 2022/07/04 13:29:10 1.3 @@ -11,9 +11,10 @@ static intptr_t fwsync_wchan; static void fwsync_edge_proc(void *arg) { - int e, rcvflg; + int e, rcvflg = 0; struct uio uio; struct mbuf *m = NULL; + struct fws_proto *pkt; DTRACE(); @@ -34,8 +35,14 @@ fwsync_edge_proc(void *arg) tsleep(&fwsync_wchan, 0, "edge_handler", hz); continue; } + pkt = mtod(m, struct fws_proto*); + if (m_length(m, NULL) != sizeof(struct fws_proto)) { + printf("FWSync packet length=%d isn't match expected %lu\n", + m_length(m, NULL), sizeof(struct fws_proto)); + continue; + } - printf("%u...-> %s\n", m->m_len, m->m_data); + printf("%u...-> %s version=%c\n", m->m_len, m->m_data, pkt->fws_version); } fws_ctx.config &= ~CTX_EDGE_ONLINE;