diff --git a/drivers/firmware/dcdbas.c b/drivers/firmware/dcdbas.c index aa9bc9e980e1..69ad529d92fb 100644 --- a/drivers/firmware/dcdbas.c +++ b/drivers/firmware/dcdbas.c @@ -634,9 +634,6 @@ static void __exit dcdbas_exit(void) * before platform_device_unregister */ unregister_reboot_notifier(&dcdbas_reboot_nb); - smi_data_buf_free(); - platform_device_unregister(dcdbas_pdev); - platform_driver_unregister(&dcdbas_driver); /* * We have to free the buffer here instead of dcdbas_remove @@ -645,6 +642,8 @@ static void __exit dcdbas_exit(void) * released. */ smi_data_buf_free(); + platform_device_unregister(dcdbas_pdev); + platform_driver_unregister(&dcdbas_driver); } module_init(dcdbas_init);