|
@@ -970,7 +970,8 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem,
|
|
|
if (cell->bit_offset || cell->nbits)
|
|
|
nvmem_shift_read_buffer_in_place(cell, buf);
|
|
|
|
|
|
- *len = cell->bytes;
|
|
|
+ if (len)
|
|
|
+ *len = cell->bytes;
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -979,7 +980,8 @@ static int __nvmem_cell_read(struct nvmem_device *nvmem,
|
|
|
* nvmem_cell_read() - Read a given nvmem cell
|
|
|
*
|
|
|
* @cell: nvmem cell to be read.
|
|
|
- * @len: pointer to length of cell which will be populated on successful read.
|
|
|
+ * @len: pointer to length of cell which will be populated on successful read;
|
|
|
+ * can be NULL.
|
|
|
*
|
|
|
* Return: ERR_PTR() on error or a valid pointer to a buffer on success. The
|
|
|
* buffer should be freed by the consumer with a kfree().
|