phy: Fix possible NULL pointer deference
It is possible that users of generic_phy_*() APIs may pass a valid
struct phy pointer but phy->dev can be NULL, leading to NULL pointer
deference in phy_dev_ops().
So call generic_phy_valid() to verify that phy and phy->dev are both
valid.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c
index 65b5316..db7f39c 100644
--- a/drivers/phy/phy-uclass.c
+++ b/drivers/phy/phy-uclass.c
@@ -118,7 +118,7 @@
{
struct phy_ops const *ops;
- if (!phy)
+ if (!generic_phy_valid(phy))
return 0;
ops = phy_dev_ops(phy->dev);
@@ -129,7 +129,7 @@
{
struct phy_ops const *ops;
- if (!phy)
+ if (!generic_phy_valid(phy))
return 0;
ops = phy_dev_ops(phy->dev);
@@ -140,7 +140,7 @@
{
struct phy_ops const *ops;
- if (!phy)
+ if (!generic_phy_valid(phy))
return 0;
ops = phy_dev_ops(phy->dev);
@@ -151,7 +151,7 @@
{
struct phy_ops const *ops;
- if (!phy)
+ if (!generic_phy_valid(phy))
return 0;
ops = phy_dev_ops(phy->dev);
@@ -162,7 +162,7 @@
{
struct phy_ops const *ops;
- if (!phy)
+ if (!generic_phy_valid(phy))
return 0;
ops = phy_dev_ops(phy->dev);