]> granicus.if.org Git - esp-idf/commitdiff
SPI: Also check SPI_TRANS_USE_[T|R]XDATA when decifding to turn on MOSI/MISO. Fixes...
authorJeroen Domburg <jeroen@espressif.com>
Mon, 24 Apr 2017 08:14:09 +0000 (16:14 +0800)
committerJeroen Domburg <jeroen@espressif.com>
Thu, 27 Apr 2017 03:49:04 +0000 (11:49 +0800)
components/driver/spi_master.c

index 5b6b0b477fd10bcf382aaae29911dc763b0901d7..5bf3955d06482a10a74bbe05ed694c22cf010a4d 100644 (file)
@@ -551,8 +551,8 @@ static void IRAM_ATTR spi_intr(void *arg)
         } else {
             host->hw->addr=trans->address & 0xffffffff;
         }
-        host->hw->user.usr_mosi=(trans->tx_buffer==NULL)?0:1;
-        host->hw->user.usr_miso=(trans->rx_buffer==NULL)?0:1;
+        host->hw->user.usr_mosi=(trans->tx_buffer!=NULL || (trans->flags & SPI_TRANS_USE_TXDATA))?1:0;
+        host->hw->user.usr_miso=(trans->rx_buffer!=NULL || (trans->flags & SPI_TRANS_USE_RXDATA))?1:0;
 
         //Call pre-transmission callback, if any
         if (dev->cfg.pre_cb) dev->cfg.pre_cb(trans);