Commit 2e24e32e authored by Gabor Juhos's avatar Gabor Juhos Committed by David Woodhouse

mtd: block2mtd: fix recursive call of mtd_writev

The 'mtd_writev' interface calls the function assigned
to the '_write' field of a given mtd device if that is
not NULL. The block2mtd driver sets the '_writev' field
to the 'mtd_writev' function itself and thus causes a
endless loop.

This is caused by 1dbebd32
(mtd: harmonize mtd_writev usage).

Remove the assignment from the block2mtd driver to fix the
issue.
Signed-off-by: default avatarGabor Juhos <juhosg@openwrt.org>
Cc: stable@kernel.org [3.3+]
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 5636ce0f
...@@ -265,7 +265,6 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size) ...@@ -265,7 +265,6 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size)
dev->mtd.flags = MTD_CAP_RAM; dev->mtd.flags = MTD_CAP_RAM;
dev->mtd._erase = block2mtd_erase; dev->mtd._erase = block2mtd_erase;
dev->mtd._write = block2mtd_write; dev->mtd._write = block2mtd_write;
dev->mtd._writev = mtd_writev;
dev->mtd._sync = block2mtd_sync; dev->mtd._sync = block2mtd_sync;
dev->mtd._read = block2mtd_read; dev->mtd._read = block2mtd_read;
dev->mtd.priv = dev; dev->mtd.priv = dev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment