mirror of
https://github.com/torvalds/linux.git
synced 2026-09-13 15:40:03 +02:00
can: isotp: check register_netdevice_notifier() error in module init
Register the netdevice notifier before can_proto_register() and check the return value. If protocol registration fails, unregister the notifier before returning the error. Align isotp_module_init() with the reordering already done for raw.c (commitc28b3bffe4("can: raw: process optimization in raw_init()")) and bcm.c (commitedd1a7e42f("can: bcm: registration process optimization in bcm_module_init()")). Fixes:8d0caedb75("can: bcm/raw/isotp: use per module netdevice notifier") Signed-off-by: Minhong He <heminhong@kylinos.cn> Link: https://patch.msgid.link/20260729085656.134523-1-heminhong@kylinos.cn Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
050f010f92
commit
ef09a13c5a
|
|
@ -2050,13 +2050,18 @@ static __init int isotp_module_init(void)
|
|||
|
||||
pr_info("can: isotp protocol (max_pdu_size %d)\n", max_pdu_size);
|
||||
|
||||
err = can_proto_register(&isotp_can_proto);
|
||||
if (err < 0)
|
||||
pr_err("can: registration of isotp protocol failed %pe\n", ERR_PTR(err));
|
||||
else
|
||||
register_netdevice_notifier(&canisotp_notifier);
|
||||
err = register_netdevice_notifier(&canisotp_notifier);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
return err;
|
||||
err = can_proto_register(&isotp_can_proto);
|
||||
if (err < 0) {
|
||||
pr_err("can: registration of isotp protocol failed %pe\n", ERR_PTR(err));
|
||||
unregister_netdevice_notifier(&canisotp_notifier);
|
||||
return err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __exit void isotp_module_exit(void)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user