]> www.infradead.org Git - users/jedix/linux-maple.git/commit
misc: keba: Fix kernfs warning on module unload
authorGerhard Engleder <gerhard@engleder-embedded.com>
Sat, 14 Dec 2024 21:57:59 +0000 (22:57 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Jan 2025 09:16:39 +0000 (10:16 +0100)
commit6847b00c3c85fffff15f29e030a2fa489bdde88b
tree19736c95b78dcfff540e36eea982f7e75633bd5e
parent2d390e063464f91cb071dfa5495868ba6b120d8a
misc: keba: Fix kernfs warning on module unload

Unloading the cp500 module leads to the following warning:

kernfs: can not remove 'eeprom', no directory
WARNING: CPU: 1 PID: 1610 at fs/kernfs/dir.c:1683 kernfs_remove_by_name_ns+0xb1/0xc0

The parent I2C device of the nvmem devices is freed before the nvmem
devices. The reference to the nvmem devices is put by devm after
cp500_remove(), but at this time the parent I2C device does not exist
anymore as the I2C controller and its devices have already been freed in
cp500_remove(). Thus, nvmem tries to remove an entry from an already
deleted directory.

Free nvmem devices before I2C controller auxiliary device.

Signed-off-by: Gerhard Engleder <eg@keba.com>
Link: https://lore.kernel.org/r/20241214215759.60811-1-gerhard@engleder-embedded.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/keba/cp500.c