mtd: mtdconcat: fix bug with uninitialized lock and unlock functions
Test if a lock or unlock function is present (pointer not NULL) before calling it, to prevent a kernel dump. Artem: removed extra blank lines Signed-off-by: Martin Krause <martin.krause@tqs.de> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
24cc7b8a2a
commit
e1d0fe3cdd
|
@ -540,10 +540,12 @@ static int concat_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
|
||||||
else
|
else
|
||||||
size = len;
|
size = len;
|
||||||
|
|
||||||
|
if (subdev->lock) {
|
||||||
err = subdev->lock(subdev, ofs, size);
|
err = subdev->lock(subdev, ofs, size);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
|
} else
|
||||||
|
err = -EOPNOTSUPP;
|
||||||
|
|
||||||
len -= size;
|
len -= size;
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
|
@ -578,10 +580,12 @@ static int concat_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
|
||||||
else
|
else
|
||||||
size = len;
|
size = len;
|
||||||
|
|
||||||
|
if (subdev->unlock) {
|
||||||
err = subdev->unlock(subdev, ofs, size);
|
err = subdev->unlock(subdev, ofs, size);
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
break;
|
break;
|
||||||
|
} else
|
||||||
|
err = -EOPNOTSUPP;
|
||||||
|
|
||||||
len -= size;
|
len -= size;
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
|
|
Loading…
Reference in New Issue