Merge pull request #1630 from gebart/stm32f1-spi-fix

cpu/stm32f1: spi_transfer_bytes proper counting.
This commit is contained in:
Ludwig Ortmann 2014-09-03 01:34:47 -07:00
commit 9b361aa5b7

View File

@ -123,12 +123,11 @@ int spi_transfer_byte(spi_t dev, char out, char *in)
int spi_transfer_bytes(spi_t dev, char *out, char *in, unsigned int length) int spi_transfer_bytes(spi_t dev, char *out, char *in, unsigned int length)
{ {
int transfered = 0; int transfered = 0;
int ret = 0;
if (out != NULL) { if (out != NULL) {
DEBUG("out*: %p out: %x length: %x\n", out, *out, length); DEBUG("out*: %p out: %x length: %x\n", out, *out, length);
while (length--) { while (length--) {
ret += spi_transfer_byte(dev, *(out)++, 0); int ret = spi_transfer_byte(dev, *(out)++, 0);
if (ret < 0) { if (ret < 0) {
return ret; return ret;
} }
@ -137,7 +136,7 @@ int spi_transfer_bytes(spi_t dev, char *out, char *in, unsigned int length)
} }
if (in != NULL) { if (in != NULL) {
while (length--) { while (length--) {
ret += spi_transfer_byte(dev, 0, in++); int ret = spi_transfer_byte(dev, 0, in++);
if (ret < 0) { if (ret < 0) {
return ret; return ret;
} }