Merge pull request #12336 from benpicco/cc2538-spi_fix

cpu/cc2538: fix spi_transfer_bytes()
This commit is contained in:
Kevin "Tristate Tom" Weiss 2019-10-02 10:52:16 +02:00 committed by GitHub
commit 5bbfe92c11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -145,15 +145,14 @@ void spi_transfer_bytes(spi_t bus, spi_cs_t cs, bool cont,
dev(bus)->DR;
}
}
else if (!out_buf) { /*TODO this case is currently untested */
else if (!out_buf) {
size_t in_cnt = 0;
for (size_t i = 0; i < len; i++) {
while (!(dev(bus)->SR & SSI_SR_TNF)) {}
dev(bus)->DR = 0;
if (dev(bus)->SR & SSI_SR_RNE) {
while (!(dev(bus)->SR & SSI_SR_RNE)) {}
in_buf[in_cnt++] = dev(bus)->DR;
}
}
/* get remaining bytes */
while (dev(bus)->SR & SSI_SR_RNE) {
in_buf[in_cnt++] = dev(bus)->DR;