This moves the removal of the rescan sysfs attribute to occur before the call to unregister the vio to ensure the removal does not fail due to the vio driver already being freed. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> --- drivers/tty/hvc/hvcs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/tty/hvc/hvcs.c b/drivers/tty/hvc/hvcs.c index faf5ccfc561e..9131dcb2e8d8 100644 --- a/drivers/tty/hvc/hvcs.c +++ b/drivers/tty/hvc/hvcs.c @@ -1519,6 +1519,8 @@ static int __init hvcs_module_init(void) static void __exit hvcs_module_exit(void) { + driver_remove_file(&hvcs_vio_driver.driver, &driver_attr_rescan); + /* * This driver receives hvcs_remove callbacks for each device upon * module removal. @@ -1538,8 +1540,6 @@ static void __exit hvcs_module_exit(void) hvcs_pi_buff = NULL; spin_unlock(&hvcs_pi_lock); - driver_remove_file(&hvcs_vio_driver.driver, &driver_attr_rescan); - tty_unregister_driver(hvcs_tty_driver); hvcs_free_index_list(); -- 2.31.1