浏览代码

net: phy: micrel: add led-mode sanity check

Make sure never to update more than two bits when setting the led mode,
something which could for example change the reference-clock setting.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Johan Hovold 11 年之前
父节点
当前提交
8620546c39
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      drivers/net/phy/micrel.c

+ 5 - 0
drivers/net/phy/micrel.c

@@ -173,6 +173,11 @@ static int kszphy_setup_led(struct phy_device *phydev,
 	if (of_property_read_u32(of_node, "micrel,led-mode", &val))
 		return 0;
 
+	if (val > 3) {
+		dev_err(&phydev->dev, "invalid led mode: 0x%02x\n", val);
+		return -EINVAL;
+	}
+
 	temp = phy_read(phydev, reg);
 	if (temp < 0)
 		return temp;