diff --git a/drivers/spi/ltq_ssc.c b/drivers/spi/ltq_ssc.c
index f682731ef111c4288279e922718a04d14826f953..e11fe7df247a6c86aebe01da9f14b5e0b7bbbca5 100644
--- a/drivers/spi/ltq_ssc.c
+++ b/drivers/spi/ltq_ssc.c
@@ -2864,25 +2864,19 @@ static int ifx_validate_params(IFX_SSC_HANDLE handler, char *txbuf, int txsize,
 
 	if (!handler) {
 		LOGF_KLOG_ERROR("%s: invalid handler\n", __func__);
+		dump_stack();
 		goto out;
 	}
 
-	if (!rxbuf || rxsize == 0) {
-		LOGF_KLOG_ERROR("%s: invalid rxbuf=%x rxsize=%d\n",
-				__func__, rxbuf, rxsize);
+	if (!rxbuf && rxsize == 0 && !txbuf && txsize == 0) {
+		LOGF_KLOG_ERROR("%s: invalid data\n");
+		dump_stack();
 		goto out;
 	}
 
-	if (!txbuf || txsize == 0) {
-		LOGF_KLOG_ERROR("%s: invalid txbuf=%x txsize=%d\n",
-				__func__, txbuf, txsize);
-		goto out;
-	}
 	status = 0;
 
 out:
-	dump_stack();
-
 	return status;
 }