diff options
| author | William D. Jones <[email protected]> | 2019-10-02 00:01:58 -0400 |
|---|---|---|
| committer | William D. Jones <[email protected]> | 2019-10-02 00:01:58 -0400 |
| commit | 19ee5199265d064e23c376c4ab0fdf92b08a5378 (patch) | |
| tree | 7ff64f99f0653c775f949bf0aeb9bbf22acebe1d | |
| parent | 54478aaa2a57e62f946581f492da5792741116f9 (diff) | |
dcd_msp430x5xx: Correct byte count masks in transmit/receive routines.
| -rw-r--r-- | src/portable/ti/msp430x5xx/dcd_msp430x5xx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c index 5202f156a..2f67e5d37 100644 --- a/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c +++ b/src/portable/ti/msp430x5xx/dcd_msp430x5xx.c @@ -394,7 +394,7 @@ static void receive_packet(uint8_t ep_num) } else { - xfer_size = ep_regs[BCTX] & 0x3F; + xfer_size = ep_regs[BCTX] & 0x7F; } uint16_t remaining = xfer->total_len - xfer->queued_len; @@ -497,7 +497,7 @@ static void transmit_packet(uint8_t ep_num) ep_buf[i] = base[i]; } - ep_regs[BCTX] = (ep_regs[BCTX] & 0xF0) + xfer_size; + ep_regs[BCTX] = (ep_regs[BCTX] & 0xF0) + (xfer_size & 0x7F); ep_regs[BCTX] &= ~NAK; } } |
