[alsa-devel] [PATCH 1/4] ASoC: max9877: Make driver global regmap struct local
Lars-Peter Clausen
lars at metafoo.de
Thu Jul 16 21:22:49 CEST 2015
Use a stack local variable to handle function local state rather than a
global static variable. The later has a potential for race conditions if
the probe function runs for two devices concurrently.
Signed-off-by: Lars-Peter Clausen <lars at metafoo.de>
---
sound/soc/codecs/max9877.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/soc/codecs/max9877.c b/sound/soc/codecs/max9877.c
index e1df06f..b469e1c 100644
--- a/sound/soc/codecs/max9877.c
+++ b/sound/soc/codecs/max9877.c
@@ -20,8 +20,6 @@
#include "max9877.h"
-static struct regmap *regmap;
-
static const struct reg_default max9877_regs[] = {
{ 0, 0x40 },
{ 1, 0x00 },
@@ -145,6 +143,7 @@ static const struct regmap_config max9877_regmap = {
static int max9877_i2c_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
+ struct regmap *regmap;
int i;
regmap = devm_regmap_init_i2c(client, &max9877_regmap);
--
2.1.4
More information about the Alsa-devel
mailing list