浏览代码

mmc_test: initialize mmc_test_lock statically

The mutex mmc_test_lock is initialized at every time mmc_test device
is probed. Probing another mmc_test device may break the mutex, if
the probe function is called while the mutex is locked.

This patch fixes it by statically initializing mmc_test_lock.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Akinobu Mita 16 年之前
父节点
当前提交
a650031a6b
共有 1 个文件被更改,包括 1 次插入3 次删除
  1. 1 3
      drivers/mmc/card/mmc_test.c

+ 1 - 3
drivers/mmc/card/mmc_test.c

@@ -1040,7 +1040,7 @@ static const struct mmc_test_case mmc_test_cases[] = {
 
 
 };
 };
 
 
-static struct mutex mmc_test_lock;
+static DEFINE_MUTEX(mmc_test_lock);
 
 
 static void mmc_test_run(struct mmc_test_card *test, int testcase)
 static void mmc_test_run(struct mmc_test_card *test, int testcase)
 {
 {
@@ -1171,8 +1171,6 @@ static int mmc_test_probe(struct mmc_card *card)
 	if ((card->type != MMC_TYPE_MMC) && (card->type != MMC_TYPE_SD))
 	if ((card->type != MMC_TYPE_MMC) && (card->type != MMC_TYPE_SD))
 		return -ENODEV;
 		return -ENODEV;
 
 
-	mutex_init(&mmc_test_lock);
-
 	ret = device_create_file(&card->dev, &dev_attr_test);
 	ret = device_create_file(&card->dev, &dev_attr_test);
 	if (ret)
 	if (ret)
 		return ret;
 		return ret;