platform/chrome: cros_ec: Fix panic notifier registration
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 10 Jan 2023 22:10:33 +0000 (23:10 +0100)
committerTzung-Bi Shih <tzungbi@kernel.org>
Wed, 11 Jan 2023 03:27:56 +0000 (11:27 +0800)
Initialize panic notifier to avoid the following lockdep warning:

INFO: trying to register non-static key.
The code is fine but needs lockdep annotation, or maybe
you didn't initialize this object before use?
turning off the locking correctness validator.
[...]
Hardware name: Samsung Exynos (Flattened Device Tree)
Workqueue: events_unbound async_run_entry_fn
 unwind_backtrace from show_stack
[...]
 blocking_notifier_chain_register from cros_ec_debugfs_probe
 cros_ec_debugfs_probe from platform_probe

Fixes: d90fa2c64d59 ("platform/chrome: cros_ec: Poll EC log on EC panic")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
[tzungbi: trimmed the stack trace in commit message.]
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Link: https://lore.kernel.org/r/20230110221033.7441-1-m.szyprowski@samsung.com
drivers/platform/chrome/cros_ec.c

index ec733f6..c4345da 100644 (file)
@@ -182,6 +182,7 @@ int cros_ec_register(struct cros_ec_device *ec_dev)
        int err = 0;
 
        BLOCKING_INIT_NOTIFIER_HEAD(&ec_dev->event_notifier);
+       BLOCKING_INIT_NOTIFIER_HEAD(&ec_dev->panic_notifier);
 
        ec_dev->max_request = sizeof(struct ec_params_hello);
        ec_dev->max_response = sizeof(struct ec_response_get_protocol_info);