diff --git a/sound/soc/fsl/fsl_micfil.c b/sound/soc/fsl/fsl_micfil.c
index 2b6b2c215d76f78000375e659a84fa5a18ba41b2..9d89b2839e912d5ca43605c08d733b7e4bbd46a8 100644
--- a/sound/soc/fsl/fsl_micfil.c
+++ b/sound/soc/fsl/fsl_micfil.c
@@ -2236,7 +2236,7 @@ static int fsl_micfil_probe(struct platform_device *pdev)
 	if (ret)
 		micfil->dataline = 1;
 
-	if (micfil->dataline & (~micfil->soc->dataline)) {
+	if (micfil->dataline & ~micfil->soc->dataline) {
 		dev_err(&pdev->dev, "dataline setting error, Mask is 0x%X\n",
 			micfil->soc->dataline);
 		return -EINVAL;