diff --git a/drivers/pci/of.c b/drivers/pci/of.c
index 81ceeaa6f1d5a2c5a66e6f1b3c4d67e8a0bfb16b..27839cd2459f69274851e104708e801c45c414e9 100644
--- a/drivers/pci/of.c
+++ b/drivers/pci/of.c
@@ -592,7 +592,7 @@ int of_pci_get_max_link_speed(struct device_node *node)
 	u32 max_link_speed;
 
 	if (of_property_read_u32(node, "max-link-speed", &max_link_speed) ||
-	    max_link_speed > 4)
+	    max_link_speed == 0 || max_link_speed > 4)
 		return -EINVAL;
 
 	return max_link_speed;