mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
nvmem: core: update raw_len if the bit reading is required
If NVMEM cell uses bit offset or specifies bit truncation, update raw_len manually (following the cell->bytes update), ensuring that the NVMEM access is still word-aligned. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20250411112251.68002-11-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
13bcd440f2
commit
6786484223
@@ -594,9 +594,11 @@ static int nvmem_cell_info_to_nvmem_cell_entry_nodup(struct nvmem_device *nvmem,
|
||||
cell->nbits = info->nbits;
|
||||
cell->np = info->np;
|
||||
|
||||
if (cell->nbits)
|
||||
if (cell->nbits) {
|
||||
cell->bytes = DIV_ROUND_UP(cell->nbits + cell->bit_offset,
|
||||
BITS_PER_BYTE);
|
||||
cell->raw_len = ALIGN(cell->bytes, nvmem->word_size);
|
||||
}
|
||||
|
||||
if (!IS_ALIGNED(cell->offset, nvmem->stride)) {
|
||||
dev_err(&nvmem->dev,
|
||||
|
||||
Reference in New Issue
Block a user