oic; ble transport was now fragmenting incorrectly.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/commit/72c5dce4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/tree/72c5dce4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/diff/72c5dce4 Branch: refs/heads/develop Commit: 72c5dce434354227de0d97e708cfc7e2ca330dbe Parents: f8143c7 Author: Marko Kiiskila <[email protected]> Authored: Fri Jan 6 13:20:47 2017 -0800 Committer: Marko Kiiskila <[email protected]> Committed: Fri Jan 6 15:03:01 2017 -0800 ---------------------------------------------------------------------- net/oic/src/port/mynewt/ble_adaptor.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-mynewt-core/blob/72c5dce4/net/oic/src/port/mynewt/ble_adaptor.c ---------------------------------------------------------------------- diff --git a/net/oic/src/port/mynewt/ble_adaptor.c b/net/oic/src/port/mynewt/ble_adaptor.c index 4b3c310..cf7075e 100644 --- a/net/oic/src/port/mynewt/ble_adaptor.c +++ b/net/oic/src/port/mynewt/ble_adaptor.c @@ -283,9 +283,9 @@ oc_ble_frag(struct os_mbuf *m, uint16_t mtu) STAILQ_NEXT(pkt, omp_next) = NULL; return 0; } - off = pkt->omp_len % mtu; - while (off > mtu) { + off = pkt->omp_len - (pkt->omp_len % mtu); + while (off >= mtu) { n = os_msys_get_pkthdr(mtu, 0); if (!n) { goto err; @@ -300,7 +300,6 @@ oc_ble_frag(struct os_mbuf *m, uint16_t mtu) off -= blk; os_mbuf_adj(m, -blk); } - os_mbuf_adj(m, mtu - OS_MBUF_PKTLEN(m)); return 0; err: pkt = OS_MBUF_PKTHDR(m);
