mtd: fix bdev exclusive open bugs in block2mtd::add_device()
There are two bdev exclusive open bugs.
* open_bdev_exclusive() must not be called with NULL holder.  Use dev
  as the holder.
* open_by_devnum() doesn't open the bdev exclusively but
  block2mtd_free_device() always assumes it.  Explicitly claim the
  bdev.
The latter is rather clumsy but will be simplified with future
blkdev_get/put() cleanups.
- Updated to use local variable @mode to cache FMODE_* masks as
  suggested by Artem Bityutskiy.
Signed-off-by:  Tejun Heo <tj@kernel.org>
Cc: linux-mtd@lists.infradead.org
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Tejun Heo <tj@kernel.org>
Cc: linux-mtd@lists.infradead.org
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Loading
Please register or sign in to comment
