diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
index c9d5f788e36ba678e19295a5693b3c5569412d4f..ee409803fd94d2d5ca3ef60c18c7053721a1b998 100644
--- a/drivers/i2c/busses/i2c-qup.c
+++ b/drivers/i2c/busses/i2c-qup.c
@@ -633,12 +633,12 @@ static int qup_i2c_probe(struct platform_device *pdev)
 	 * associated with each byte written/received
 	 */
 	size = QUP_OUTPUT_BLOCK_SIZE(io_mode);
-	if (size > ARRAY_SIZE(blk_sizes))
+	if (size >= ARRAY_SIZE(blk_sizes))
 		return -EIO;
 	qup->out_blk_sz = blk_sizes[size] / 2;
 
 	size = QUP_INPUT_BLOCK_SIZE(io_mode);
-	if (size > ARRAY_SIZE(blk_sizes))
+	if (size >= ARRAY_SIZE(blk_sizes))
 		return -EIO;
 	qup->in_blk_sz = blk_sizes[size] / 2;