| From 2e24e32e2759348c9290404abad4f729f791bfad Mon Sep 17 00:00:00 2001 |
| From: Gabor Juhos <juhosg@openwrt.org> |
| Date: Thu, 24 May 2012 00:17:23 +0200 |
| Subject: mtd: block2mtd: fix recursive call of mtd_writev |
| |
| From: Gabor Juhos <juhosg@openwrt.org> |
| |
| commit 2e24e32e2759348c9290404abad4f729f791bfad upstream. |
| |
| 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 1dbebd32562b3c2caeca35960e5cb00bfcc12900 |
| (mtd: harmonize mtd_writev usage). |
| |
| Remove the assignment from the block2mtd driver to fix the |
| issue. |
| |
| Signed-off-by: Gabor Juhos <juhosg@openwrt.org> |
| Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> |
| Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/mtd/devices/block2mtd.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- a/drivers/mtd/devices/block2mtd.c |
| +++ b/drivers/mtd/devices/block2mtd.c |
| @@ -271,7 +271,6 @@ static struct block2mtd_dev *add_device( |
| dev->mtd.flags = MTD_CAP_RAM; |
| dev->mtd._erase = block2mtd_erase; |
| dev->mtd._write = block2mtd_write; |
| - dev->mtd._writev = mtd_writev; |
| dev->mtd._sync = block2mtd_sync; |
| dev->mtd._read = block2mtd_read; |
| dev->mtd.priv = dev; |