|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6 |
|
| #
2a6a4455 |
| 03-Mar-2025 |
Wentao Liang <[email protected]> |
mtd: Fix error handling in mtd_device_parse_register() error path
Check and log del_mtd_device() failures. Print an error message with pr_err() to prevent silent failures, but preserve the original
mtd: Fix error handling in mtd_device_parse_register() error path
Check and log del_mtd_device() failures. Print an error message with pr_err() to prevent silent failures, but preserve the original error code instead of propagating the secondary error since del_mtd_device() is already in an error handling path.
Signed-off-by: Wentao Liang <[email protected]> Signed-off-by: Miquel Raynal <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2 |
|
| #
6697dae1 |
| 07-Feb-2025 |
Edward Adam Davis <[email protected]> |
mtd: capture device name setting failure when adding mtd
syzbot reported a WARNING in release_mtd_partition. [1]
The reproducer uses "/proc/thread-self/fail-nth" to trigger the failure of memory al
mtd: capture device name setting failure when adding mtd
syzbot reported a WARNING in release_mtd_partition. [1]
The reproducer uses "/proc/thread-self/fail-nth" to trigger the failure of memory allocation when executing dev_set_name() in add_mtd_device(), which eventually causes device_register() to fail because the device name is not set, and finally triggers a warning in put_device().
[1] WARNING: CPU: 0 PID: 5826 at drivers/mtd/mtdpart.c:37 release_mtd_partition+0x71/0x90 drivers/mtd/mtdpart.c:37 Modules linked in: CPU: 0 UID: 0 PID: 5826 Comm: syz-executor397 Not tainted 6.13.0-syzkaller-09734-g2a9f04bde07a #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 RIP: 0010:release_mtd_partition+0x71/0x90 drivers/mtd/mtdpart.c:37 Code: 00 fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 75 1e 48 8b 7b 38 e8 ef 84 cd fb 48 89 df 5b 5d e9 e5 84 cd fb e8 70 4a 75 fb 90 <0f> 0b 90 eb c2 e8 a5 29 d8 fb eb db 48 89 ef e8 9b 29 d8 fb eb a5 RSP: 0018:ffffc90003e1f828 EFLAGS: 00010293 RAX: 0000000000000000 RBX: ffff88802c1d1000 RCX: ffffffff8b417995 RDX: ffff8880310c3c00 RSI: ffffffff86439150 RDI: ffff88802c1d1000 RBP: ffff88802c1d1648 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000004 R11: ffffffff81000130 R12: 0000000000000000 R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000 FS: 000055558b9cd480(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000008 CR3: 0000000034aca000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> mtd_release+0xa0/0xd0 drivers/mtd/mtdcore.c:101 device_release+0xa1/0x240 drivers/base/core.c:2567 kobject_cleanup lib/kobject.c:689 [inline] kobject_release lib/kobject.c:720 [inline] kref_put include/linux/kref.h:65 [inline] kobject_put+0x1e4/0x5a0 lib/kobject.c:737 put_device+0x1f/0x30 drivers/base/core.c:3773 add_mtd_device+0xbb3/0x1700 drivers/mtd/mtdcore.c:750 mtd_add_partition+0x300/0x650 drivers/mtd/mtdpart.c:279 mtdchar_blkpg_ioctl+0x20d/0x250 drivers/mtd/mtdchar.c:562 mtdchar_ioctl+0xbbe/0x2050 drivers/mtd/mtdchar.c:1216 mtdchar_unlocked_ioctl+0xb0/0xf0 drivers/mtd/mtdchar.c:1239 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x190/0x200 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Reported-by: [email protected] Closes: https://syzkaller.appspot.com/bug?extid=074732af3fc6c528f8a0 Tested-by: [email protected] Signed-off-by: Edward Adam Davis <[email protected]> Signed-off-by: Miquel Raynal <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4 |
|
| #
d2d73a6d |
| 12-Apr-2024 |
Christian Marangi <[email protected]> |
mtd: limit OTP NVMEM cell parse to non-NAND devices
MTD OTP logic is very fragile on parsing NVMEM cell and can be problematic with some specific kind of devices.
The problem was discovered by e871
mtd: limit OTP NVMEM cell parse to non-NAND devices
MTD OTP logic is very fragile on parsing NVMEM cell and can be problematic with some specific kind of devices.
The problem was discovered by e87161321a40 ("mtd: rawnand: macronix: OTP access for MX30LFxG18AC") where OTP support was added to a NAND device. With the case of NAND devices, it does require a node where ECC info are declared and all the fixed partitions, and this cause the OTP codepath to parse this node as OTP NVMEM cells, making probe fail and the NAND device registration fail.
MTD OTP parsing should have been limited to always using compatible to prevent this error by using node with compatible "otp-user" or "otp-factory".
NVMEM across the years had various iteration on how cells could be declared in DT, in some old implementation, no_of_node should have been enabled but now add_legacy_fixed_of_cells should be used to disable NVMEM to parse child node as NVMEM cell.
To fix this and limit any regression with other MTD that makes use of declaring OTP as direct child of the dev node, disable add_legacy_fixed_of_cells if we detect the MTD type is Nand.
With the following logic, the OTP NVMEM entry is correctly created with no cells and the MTD Nand is correctly probed and partitions are correctly exposed.
Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") Cc: <[email protected]> # v6.7+ Signed-off-by: Christian Marangi <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.9-rc3, v6.9-rc2 |
|
| #
5043e555 |
| 25-Mar-2024 |
Andy Shevchenko <[email protected]> |
mtd: core: Align comment with an action in mtd_otp_nvmem_add()
The comment is related to the non-error case, make it more clear by inverting the condition. It also makes code neater at the end.
Sig
mtd: core: Align comment with an action in mtd_otp_nvmem_add()
The comment is related to the non-error case, make it more clear by inverting the condition. It also makes code neater at the end.
Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Pratyush Yadav <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.9-rc1 |
|
| #
fe0b8213 |
| 13-Mar-2024 |
Aapo Vienamo <[email protected]> |
mtd: core: Don't fail mtd_otp_nvmem_add() if OTP is unsupported
Handle the case where -EOPNOTSUPP is returned from OTP driver.
This addresses an issue that occurs with the Intel SPI flash controlle
mtd: core: Don't fail mtd_otp_nvmem_add() if OTP is unsupported
Handle the case where -EOPNOTSUPP is returned from OTP driver.
This addresses an issue that occurs with the Intel SPI flash controller, which has a limited supported opcode set. Whilst the OTP functionality is not available due to this restriction, other parts of the MTD functionality of the device are intact. This change allows the driver to gracefully handle the restriction by allowing the supported functionality to remain available instead of failing the probe altogether.
Signed-off-by: Aapo Vienamo <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Reviewed-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
d44f0bbb |
| 13-Mar-2024 |
Aapo Vienamo <[email protected]> |
mtd: core: Report error if first mtd_otp_size() call fails in mtd_otp_nvmem_add()
Jump to the error reporting code in mtd_otp_nvmem_add() if the mtd_otp_size() call fails. Without this fix, the erro
mtd: core: Report error if first mtd_otp_size() call fails in mtd_otp_nvmem_add()
Jump to the error reporting code in mtd_otp_nvmem_add() if the mtd_otp_size() call fails. Without this fix, the error is not logged.
Signed-off-by: Aapo Vienamo <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Reviewed-by: Michael Walle <[email protected]> Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7 |
|
| #
5ab9bbf6 |
| 04-Jan-2024 |
Miquel Raynal <[email protected]> |
mtd: Fix possible refcounting issue when going through partition nodes
Under normal conditions, the loop goes over all child partitions, and 'breaks' when the relevant partition is found. In this ca
mtd: Fix possible refcounting issue when going through partition nodes
Under normal conditions, the loop goes over all child partitions, and 'breaks' when the relevant partition is found. In this case we get a reference to the partition node without ever releasing it. Indeed, right after the mtd_check_of_node() function returns, we call of_node_get() again over this very same node. It is probably safer to keep the counters even in this helper and call of_node_put() before break-ing.
Reported-by: kernel test robot <[email protected]> Reported-by: Julia Lawall <[email protected]> Closes: https://lore.kernel.org/r/[email protected]/ Cc: Christian Marangi <[email protected]> Cc: Rafał Miłecki <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.7-rc8 |
|
| #
2fe48aaa |
| 26-Dec-2023 |
ZhaoLong Wang <[email protected]> |
mtd: Add several functions to the fail_function list
add mtd_read(), mtd_write(), mtd_erase(), mtd_block_markbad() to fail_function list for testing purpose
- Specify the function to inject the fau
mtd: Add several functions to the fail_function list
add mtd_read(), mtd_write(), mtd_erase(), mtd_block_markbad() to fail_function list for testing purpose
- Specify the function to inject the fault echo mtd_read > /sys/kernel/debug/fail_function/inject
- Specifies the return value of the function to inject the fault printf %#x -12 > /sys/kernel/debug/fail_function/mtd_read/retval
- Specify other fault injection configuration parameters. echo -1 > /sys/kernel/debug/fail_function/times echo 100 > /sys/kernel/debug/fail_function/probability echo 15 > /sys/kernel/debug/fail_function/space
Signed-off-by: ZhaoLong Wang <[email protected]> Reviewed-by: Zhihao Cheng <[email protected]> Signed-off-by: Richard Weinberger <[email protected]>
show more ...
|
|
Revision tags: v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6 |
|
| #
f4cf4e5d |
| 23-Oct-2023 |
Rafał Miłecki <[email protected]> |
Revert "nvmem: add new config option"
This reverts commit 517f14d9cf3533d5ab4fded195ab6f80a92e378f.
Config option "no_of_node" is no longer needed since adding a more explicit and targeted option "
Revert "nvmem: add new config option"
This reverts commit 517f14d9cf3533d5ab4fded195ab6f80a92e378f.
Config option "no_of_node" is no longer needed since adding a more explicit and targeted option "add_legacy_fixed_of_cells".
That "no_of_node" config option was needed *earlier* to help mtd's case.
DT nodes of MTD partitions (that are also NVMEM devices) may contain subnodes. Those SHOULD NOT be treated as NVMEM fixed cells.
To prevent NVMEM core code from parsing subnodes a "no_of_node" option was added (and set to true in mtd) to make for_each_child_of_node() in NVMEM a no-op. That was a bit hacky because it was messing with "of_node" pointer to achieve some side-effect.
With the introduction of "add_legacy_fixed_of_cells" config option things got more explicit. MTD subsystem simply tells NVMEM when to look for fixed cells and there is no need to hack "of_node" pointer anymore.
Signed-off-by: Rafał Miłecki <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Signed-off-by: Srinivas Kandagatla <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc7 |
|
| #
2cc3b37f |
| 20-Oct-2023 |
Rafał Miłecki <[email protected]> |
nvmem: add explicit config option to read old syntax fixed OF cells
Binding for fixed NVMEM cells defined directly as NVMEM device subnodes has been deprecated. It has been replaced by the "fixed-la
nvmem: add explicit config option to read old syntax fixed OF cells
Binding for fixed NVMEM cells defined directly as NVMEM device subnodes has been deprecated. It has been replaced by the "fixed-layout" NVMEM layout binding.
New syntax is meant to be clearer and should help avoiding imprecise bindings.
NVMEM subsystem already supports the new binding. It should be a good idea to limit support for old syntax to existing drivers that actually support & use it (we can't break backward compatibility!). That way we additionally encourage new bindings & drivers to ignore deprecated binding.
It wasn't clear (to me) if rtc and w1 code actually uses old syntax fixed cells. I enabled them to don't risk any breakage.
Signed-off-by: Rafał Miłecki <[email protected]> [for meson-{efuse,mx-efuse}.c] Acked-by: Martin Blumenstingl <[email protected]> [for mtk-efuse.c, nvmem/core.c, nvmem-provider.h] Reviewed-by: AngeloGioacchino Del Regno <[email protected]> [MT8192, MT8195 Chromebooks] Tested-by: AngeloGioacchino Del Regno <[email protected]> [for microchip-otpc.c] Reviewed-by: Claudiu Beznea <[email protected]> [SAMA7G5-EK] Tested-by: Claudiu Beznea <[email protected]> Acked-by: Jernej Skrabec <[email protected]> Signed-off-by: Srinivas Kandagatla <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
|
Revision tags: v6.6-rc6, v6.6-rc5, v6.6-rc4 |
|
| #
0339f62a |
| 26-Sep-2023 |
ZhaoLong Wang <[email protected]> |
mtd: Add WARN_ON_ONCE() to mtd_read() to check the return value
If the driver cannot read all the requested data, -EBADMSG or -EUCLEAN should never be returned.
Add a WARN_ON_ONCE() to help driver
mtd: Add WARN_ON_ONCE() to mtd_read() to check the return value
If the driver cannot read all the requested data, -EBADMSG or -EUCLEAN should never be returned.
Add a WARN_ON_ONCE() to help driver developers detect this error.
Signed-off-by: ZhaoLong Wang <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5 |
|
| #
264725e3 |
| 31-Jul-2023 |
Miquel Raynal <[email protected]> |
mtd: Clean refcounting with MTD_PARTITIONED_MASTER
The logic is way too convoluted, let's clean the kref_get/put section to clarify what this block does when using CONFIG_MTD_PARTITIONED_MASTER: - I
mtd: Clean refcounting with MTD_PARTITIONED_MASTER
The logic is way too convoluted, let's clean the kref_get/put section to clarify what this block does when using CONFIG_MTD_PARTITIONED_MASTER: - Iterate through all the parent mtd devices - Grab a reference over them all but the master - Only grab the master whith CONFIG_MTD_PARTITIONED_MASTER Same logic must apply in the put path, otherwise it would be broken.
Cc: Tomas Winkler <[email protected]> Cc: Alexander Usyskin <[email protected]> Cc: Zhang Xiaoxu <[email protected]> Fixes: 19bfa9ebebb5 ("mtd: use refcount to prevent corruption") Signed-off-by: Miquel Raynal <[email protected]> Tested-by: Alexander Usyskin <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
e9714c22 |
| 31-Jul-2023 |
Alexander Usyskin <[email protected]> |
mtd: fix use-after-free in mtd release
I case of partition device_unregister() in mtd_device_release() calls mtd_release() which frees mtd_info structure for partition. All code after device_unregis
mtd: fix use-after-free in mtd release
I case of partition device_unregister() in mtd_device_release() calls mtd_release() which frees mtd_info structure for partition. All code after device_unregister in mtd_device_release thus uses already freed memory.
Move part of code to mtd_release() and restict mtd->dev cleanup to non-partion object. For partition object such cleanup have no sense as partition mtd_info is removed.
Cc: Miquel Raynal <[email protected]> Cc: Zhang Xiaoxu <[email protected]> Fixes: 19bfa9ebebb5 ("mtd: use refcount to prevent corruption") Reviewed-by: Tomas Winkler <[email protected]> Signed-off-by: Alexander Usyskin <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4 |
|
| #
79c4a562 |
| 20-Jun-2023 |
Alexander Usyskin <[email protected]> |
mtd: call external _get and _put in right order
MTD provider provides mtd_info object to mtd subsystem. With kref patch the mtd_info object can be alive after provider released mtd device. Fix calli
mtd: call external _get and _put in right order
MTD provider provides mtd_info object to mtd subsystem. With kref patch the mtd_info object can be alive after provider released mtd device. Fix calling order in _get and _put functions to allow mtd provider to safely alloc and release mtd object.
Execute: 1) call external _get 2) get_module 3) add internal kref in the get function and opposite order in the put one.
The _put_device callback should be the last in put as the master struct memory may be freed in this callback.
Signed-off-by: Alexander Usyskin <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
19bfa9eb |
| 20-Jun-2023 |
Tomas Winkler <[email protected]> |
mtd: use refcount to prevent corruption
When underlying device is removed mtd core will crash in case user space is holding open handle. Need to use proper refcounting so device is release only when
mtd: use refcount to prevent corruption
When underlying device is removed mtd core will crash in case user space is holding open handle. Need to use proper refcounting so device is release only when has no users.
Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Alexander Usyskin <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.4-rc7 |
|
| #
cefa1aaa |
| 15-Jun-2023 |
Dan Carpenter <[email protected]> |
mtd: otp: clean up on error in mtd_otp_nvmem_add()
Smatch complains that these error paths are missing cleanup:
drivers/mtd/mtdcore.c:983 mtd_otp_nvmem_add() warn: missing unwind goto?
Thi
mtd: otp: clean up on error in mtd_otp_nvmem_add()
Smatch complains that these error paths are missing cleanup:
drivers/mtd/mtdcore.c:983 mtd_otp_nvmem_add() warn: missing unwind goto?
This needs to call nvmem_unregister(mtd->otp_user_nvmem) before returning.
Fixes: 3b270fac8443 ("mtd: otp: Put factory OTP/NVRAM into the entropy pool") Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Linus Walleij <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.4-rc6 |
|
| #
3b270fac |
| 06-Jun-2023 |
Linus Walleij <[email protected]> |
mtd: otp: Put factory OTP/NVRAM into the entropy pool
The factory OTP, if supported, contains factory-programmed information such as typically the serial number or production week for the chip.
As
mtd: otp: Put factory OTP/NVRAM into the entropy pool
The factory OTP, if supported, contains factory-programmed information such as typically the serial number or production week for the chip.
As this is device-unique information, submit it into the system entropy pool.
This does not count as improvement of the entropy as such but in practice it makes it a bit more random to mix in these numbers.
Cc: Michael Walle <[email protected]> Acked-by: Jason A. Donenfeld <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
|
Revision tags: v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3, v6.3-rc2 |
|
| #
57150c40 |
| 10-Mar-2023 |
Rob Herring <[email protected]> |
mtd: Use of_property_read_bool() for boolean properties
It is preferred to use typed property access functions (i.e. of_property_read_<type> functions) rather than low-level of_get_property/of_find_
mtd: Use of_property_read_bool() for boolean properties
It is preferred to use typed property access functions (i.e. of_property_read_<type> functions) rather than low-level of_get_property/of_find_property functions for reading properties. Convert reading boolean properties to to of_property_read_bool().
Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
10a03c36 |
| 13-Mar-2023 |
Greg Kroah-Hartman <[email protected]> |
drivers: remove struct module * setting from struct class
There is no need to manually set the owner of a struct class, as the registering function does it automatically, so remove all of the explic
drivers: remove struct module * setting from struct class
There is no need to manually set the owner of a struct class, as the registering function does it automatically, so remove all of the explicit settings from various drivers that did so as it is unneeded.
This allows us to remove this pointer entirely from this structure going forward.
Cc: "Rafael J. Wysocki" <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
show more ...
|
| #
75f32f4b |
| 07-Mar-2023 |
Miquel Raynal <[email protected]> |
mtd: Avoid magic values
Nvmem producer config ID "-1" is actually defined, so use the definition rather than hardcoding it with a magic value.
Suggested-by: Michael Walle <[email protected]> Signed-
mtd: Avoid magic values
Nvmem producer config ID "-1" is actually defined, so use the definition rather than hardcoding it with a magic value.
Suggested-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Michael Walle <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
5cab0615 |
| 07-Mar-2023 |
Miquel Raynal <[email protected]> |
mtd: Avoid printing error messages on probe deferrals
There is no reason to complain about probe errors in case of deferrals.
Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: M
mtd: Avoid printing error messages on probe deferrals
There is no reason to complain about probe errors in case of deferrals.
Signed-off-by: Miquel Raynal <[email protected]> Reviewed-by: Michael Walle <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
281f7a6c |
| 08-Mar-2023 |
Michael Walle <[email protected]> |
mtd: core: prepare mtd_otp_nvmem_add() to handle -EPROBE_DEFER
NVMEM soon will get the ability for nvmem layouts and these might not be ready when nvmem_register() is called and thus it might return
mtd: core: prepare mtd_otp_nvmem_add() to handle -EPROBE_DEFER
NVMEM soon will get the ability for nvmem layouts and these might not be ready when nvmem_register() is called and thus it might return -EPROBE_DEFER. Don't print the error message in this case.
Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
e0489f6e |
| 08-Mar-2023 |
Michael Walle <[email protected]> |
mtd: core: fix error path for nvmem provider
If mtd_otp_nvmem_add() fails, the partitions won't be removed because there is simply no call to del_mtd_partitions(). Unfortunately, add_mtd_partitions(
mtd: core: fix error path for nvmem provider
If mtd_otp_nvmem_add() fails, the partitions won't be removed because there is simply no call to del_mtd_partitions(). Unfortunately, add_mtd_partitions() will print all partitions to the kernel console. If mtd_otp_nvmem_add() returns -EPROBE_DEFER this would print the partitions multiple times to the kernel console. Instead move mtd_otp_nvmem_add() to the beginning of the function.
Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") Cc: [email protected] Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
8bd1d24e |
| 08-Mar-2023 |
Michael Walle <[email protected]> |
mtd: core: fix nvmem error reporting
The master MTD will only have an associated device if CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on mtd->dev. Instead use the parent devi
mtd: core: fix nvmem error reporting
The master MTD will only have an associated device if CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on mtd->dev. Instead use the parent device which is the physical flash memory.
Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") Cc: [email protected] Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|
| #
1cd9ceaa |
| 08-Mar-2023 |
Michael Walle <[email protected]> |
mtd: core: provide unique name for nvmem device, take two
Commit c048b60d39e1 ("mtd: core: provide unique name for nvmem device") tries to give the nvmem device a unique name, but fails badly if the
mtd: core: provide unique name for nvmem device, take two
Commit c048b60d39e1 ("mtd: core: provide unique name for nvmem device") tries to give the nvmem device a unique name, but fails badly if the mtd device doesn't have a "struct device" associated with it, i.e. if CONFIG_MTD_PARTITIONED_MASTER is not set. This will result in the name "(null)-user-otp", which is not unique. It seems the best we can do is to use the compatible name together with a unique identifier added by the nvmem subsystem by using NVMEM_DEVID_AUTO.
Fixes: c048b60d39e1 ("mtd: core: provide unique name for nvmem device") Cc: [email protected] Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Link: https://lore.kernel.org/linux-mtd/[email protected]
show more ...
|