Both i2c-vi and host-vi are in VE power domain.
During boot stage, interlaced acessing may occur and
cause negative reference count
Bug
200159379
Change-Id: Iee523b7b3084f0ac890bd47b81738152f064ec41
Signed-off-by: Shridhar Rasal <srasal@nvidia.com>
Reviewed-on: http://git-master/r/843497
Reviewed-by: Nine Feng <nfeng@nvidia.com>
Tested-by: Nine Feng <nfeng@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-by: Jihoon Bang <jbang@nvidia.com>
static inline int tegra_vi_i2c_power_disable(struct tegra_vi_i2c_dev *i2c_dev)
{
int ret = 0;
- tegra_powergate_partition(TEGRA_POWERGATE_VE);
+
+ if (tegra_powergate_is_powered(TEGRA_POWERGATE_VE))
+ tegra_powergate_partition(TEGRA_POWERGATE_VE);
ret = regulator_disable(i2c_dev->reg);
if (ret)