diff --git a/target/linux/ar71xx/files/drivers/spi/spi-rb4xx.c b/target/linux/ar71xx/files/drivers/spi/spi-rb4xx.c
index d8c71fb5a770afbe3c1d10919dfd6c4b0acca81e..9175fc7ae33966db676a3364ff4596774210731b 100644
--- a/target/linux/ar71xx/files/drivers/spi/spi-rb4xx.c
+++ b/target/linux/ar71xx/files/drivers/spi/spi-rb4xx.c
@@ -261,7 +261,7 @@ static int rb4xx_spi_setup(struct spi_device *spi)
 	struct rb4xx_spi *rbspi = spi_master_get_devdata(spi->master);
 	unsigned long flags;
 
-	if (spi->mode & ~(SPI_CS_HIGH)) {
+	if (spi->mode & ~(SPI_CS_HIGH | SPI_TX_DUAL)) {
 		dev_err(&spi->dev, "mode %x not supported\n",
 			(unsigned) spi->mode);
 		return -EINVAL;