The system power management operations should get correct driver data
before going on to further handling. When the component is unbinded,
driver data should be set to NULL so that the system power management
may be bypassed(return early). This way, we may prevent the system power
management from using any invalid driver data.
Fixes:
915ac0ad7369 ("MLK-16581-7 drm/imx: ldb: Add system power management support")
Signed-off-by: Liu Ying <victor.liu@nxp.com>
kfree(channel->edid);
i2c_put_adapter(channel->ddc);
}
+
+ dev_set_drvdata(dev, NULL);
}
static const struct component_ops imx_ldb_ops = {
struct imx_ldb_channel *channel;
int i;
+ if (imx_ldb == NULL)
+ return 0;
+
for (i = 0; i < 2; i++) {
channel = &imx_ldb->channel[i];
struct imx_ldb *imx_ldb = dev_get_drvdata(dev);
int i;
+ if (imx_ldb == NULL)
+ return 0;
+
if (imx_ldb->visible_phy)
for (i = 0; i < 2; i++)
phy_init(imx_ldb->channel[i].phy);