Hello!

On 9/25/2018 1:38 AM, Andrew Lunn wrote:

A HWMON device is only registered is the SFP module supports the

   s/is/if/?

diagnostic page and is complient to SFF8472. Don't unconditionally

   Compliant?

unregister the hwmon device when the SFP module is remove, otherwise
we access data structures which don't exist.

Reported-by: Florian Fainelli <f.faine...@gmail.com>
Fixes: 1323061a018a ("net: phy: sfp: Add HWMON support for module sensors")
Signed-off-by: Andrew Lunn <and...@lunn.ch>
---
  drivers/net/phy/sfp.c | 7 +++++--
  1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
index 52fffb98fde9..23705ffae6bb 100644
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -1098,8 +1098,11 @@ static int sfp_hwmon_insert(struct sfp *sfp)
static void sfp_hwmon_remove(struct sfp *sfp)
  {
-       hwmon_device_unregister(sfp->hwmon_dev);
-       kfree(sfp->hwmon_name);
+       if (!PTR_ERR_OR_NULL(sfp->hwmon_dev)) {

   Already noticed. :-)

+               hwmon_device_unregister(sfp->hwmon_dev);
+               sfp->hwmon_dev = NULL;
+               kfree(sfp->hwmon_name);
+       }
  }
  #else
  static int sfp_hwmon_insert(struct sfp *sfp)

MBR, Sergei

Reply via email to