From c75416292a32079c41b33d533620d58a89dcee5e Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Mon, 26 Aug 2013 17:47:14 +0000
Subject: [PATCH] kernel: fixing a potential deadlock in block2mtd for kernel
 3.6/3.8/3.9

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 37842
---
 target/linux/generic/patches-3.6/441-block2mtd_refresh.patch | 3 ++-
 target/linux/generic/patches-3.8/441-block2mtd_refresh.patch | 3 ++-
 target/linux/generic/patches-3.9/441-block2mtd_refresh.patch | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/target/linux/generic/patches-3.6/441-block2mtd_refresh.patch b/target/linux/generic/patches-3.6/441-block2mtd_refresh.patch
index d54e52900e..7f8a1f1233 100644
--- a/target/linux/generic/patches-3.6/441-block2mtd_refresh.patch
+++ b/target/linux/generic/patches-3.6/441-block2mtd_refresh.patch
@@ -53,8 +53,9 @@
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
 -		if (IS_ERR(page))
+-			return PTR_ERR(page);
 +		if (IS_ERR(page)) {
- 			return PTR_ERR(page);
++			err = PTR_ERR(page);
 +			goto done;
 +		}
  
diff --git a/target/linux/generic/patches-3.8/441-block2mtd_refresh.patch b/target/linux/generic/patches-3.8/441-block2mtd_refresh.patch
index 11b743db2e..b2b02229e1 100644
--- a/target/linux/generic/patches-3.8/441-block2mtd_refresh.patch
+++ b/target/linux/generic/patches-3.8/441-block2mtd_refresh.patch
@@ -53,8 +53,9 @@
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
 -		if (IS_ERR(page))
+-			return PTR_ERR(page);
 +		if (IS_ERR(page)) {
- 			return PTR_ERR(page);
++			err = PTR_ERR(page);
 +			goto done;
 +		}
  
diff --git a/target/linux/generic/patches-3.9/441-block2mtd_refresh.patch b/target/linux/generic/patches-3.9/441-block2mtd_refresh.patch
index 11b743db2e..b2b02229e1 100644
--- a/target/linux/generic/patches-3.9/441-block2mtd_refresh.patch
+++ b/target/linux/generic/patches-3.9/441-block2mtd_refresh.patch
@@ -53,8 +53,9 @@
  
  		page = page_read(dev->blkdev->bd_inode->i_mapping, index);
 -		if (IS_ERR(page))
+-			return PTR_ERR(page);
 +		if (IS_ERR(page)) {
- 			return PTR_ERR(page);
++			err = PTR_ERR(page);
 +			goto done;
 +		}
  
-- 
GitLab