diff --git a/drivers/input/misc/isl29023.c b/drivers/input/misc/isl29023.c
index ebe8d3a304d11daba044eb05dc8ede3a3f6a35ec..851a0fa177b6bafaabac7a0dd97ac24d39340db6 100644
--- a/drivers/input/misc/isl29023.c
+++ b/drivers/input/misc/isl29023.c
@@ -916,7 +916,7 @@ static int isl29023_probe(struct i2c_client *client,
 	}
 
 	err = of_property_read_u32(of_node, "rext", &rext);
-	if (err)
+	if (err || rext == 0)
 		rext = DEFAULT_REGISTOR_VAL;
 	shared_irq = of_property_read_bool(of_node, "shared-interrupt");