Unverified Commit ebe8b9e4 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!7877 v4 eeprom: at24: fix memory corruption race condition

parents 924c6159 e2344aa9
Loading
Loading
Loading
Loading
+8 −8
Original line number Original line Diff line number Diff line
@@ -757,14 +757,6 @@ static int at24_probe(struct i2c_client *client)
	pm_runtime_set_active(dev);
	pm_runtime_set_active(dev);
	pm_runtime_enable(dev);
	pm_runtime_enable(dev);


	at24->nvmem = devm_nvmem_register(dev, &nvmem_config);
	if (IS_ERR(at24->nvmem)) {
		pm_runtime_disable(dev);
		if (!pm_runtime_status_suspended(dev))
			regulator_disable(at24->vcc_reg);
		return PTR_ERR(at24->nvmem);
	}

	/*
	/*
	 * Perform a one-byte test read to verify that the
	 * Perform a one-byte test read to verify that the
	 * chip is functional.
	 * chip is functional.
@@ -777,6 +769,14 @@ static int at24_probe(struct i2c_client *client)
		return -ENODEV;
		return -ENODEV;
	}
	}


	at24->nvmem = devm_nvmem_register(dev, &nvmem_config);
	if (IS_ERR(at24->nvmem)) {
		pm_runtime_disable(dev);
		if (!pm_runtime_status_suspended(dev))
			regulator_disable(at24->vcc_reg);
		return PTR_ERR(at24->nvmem);
	}

	pm_runtime_idle(dev);
	pm_runtime_idle(dev);


	if (writable)
	if (writable)