mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
authorJoakim Tjernlund <joakim.tjernlund@infinera.com>
Wed, 6 Jun 2018 10:13:28 +0000 (12:13 +0200)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Thu, 21 Jun 2018 22:35:31 +0000 (00:35 +0200)
commit5fdfc3dbad099281bf027a353d5786c09408a8e5
tree32530a1430fc449d292f8e3f91350286a9469a71
parentf93aa8c4de307069c270b2d81741961162bead6c
mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips

cfi_ppb_unlock() tries to relock all sectors that were locked before
unlocking the whole chip.
This locking used the chip start address + the FULL offset from the
first flash chip, thereby forming an illegal address. Fix that by using
the chip offset(adr).

Fixes: 1648eaaa1575 ("mtd: cfi_cmdset_0002: Support Persistent Protection Bits (PPB) locking")
Cc: stable@vger.kernel.org
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@infinera.com>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/chips/cfi_cmdset_0002.c