When an address is converted from device to generic mode, the reserved
bit needs to be cleared in order to signal that the address points to a
flash block, not to a cacheline on the write buffer.
Signed-off-by: Javier GonzÃlez <javier@xxxxxxxxxxxx>
---
include/linux/lightnvm.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h
index 45be892..3d2c380 100644
--- a/include/linux/lightnvm.h
+++ b/include/linux/lightnvm.h
@@ -418,6 +418,9 @@ static inline struct ppa_addr dev_to_generic_addr(struct nvm_dev *dev,
l.g.ch |= (r.ppa >> dev->ppaf.ch_offset) &
(((1 << dev->ppaf.ch_len) - 1));
+ /* On device side, reserved bit is always 0 */
+ l.g.reserved = 0;
+
return l;
}