From: David Woodhouse Date: Mon, 3 Dec 2007 12:46:12 +0000 (+0000) Subject: [MTD] Always initialise mutex in new mtd_blktrans_dev. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=ce37ab42ad8b38ef2f36c31c6b4c39b87f36b792;p=openwrt%2Fstaging%2Fblogic.git [MTD] Always initialise mutex in new mtd_blktrans_dev. We were only initialising the mutex in the case where the new device was automatically allocated the highest minor number. If the caller specified a minor number, or if it filled in a free slot which was made by a previous device deregistering, the mutex wouldn't get initialised when we jumped out of the loop. Reported by Monte Copeland Signed-off-by: David Woodhouse --- diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c index 74d9d30edabd..839eed8430a2 100644 --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c @@ -248,9 +248,9 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new) return -EBUSY; } - mutex_init(&new->lock); list_add_tail(&new->list, &tr->devs); added: + mutex_init(&new->lock); if (!tr->writesect) new->readonly = 1;