Commit 435a80f6 authored by Doug Warzecha's avatar Doug Warzecha Committed by Linus Torvalds
Browse files

[PATCH] dcdbas: dcdbas_pdev referenced after platform_device_unregister on exit



smi_data_buf_free() references dcdbas_pdev when calling
dma_free_coherent().  In dcdbas_exit(), smi_data_buf_free() is called after
platform_device_unregister(dcdbas_pdev).

This patch moves platform_device_unregister(dcdbas_pdev) after
smi_data_buf_free() in dcdbas_exit().

Signed-off-by: default avatarDoug Warzecha <Douglas_Warzecha@dell.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 85a6cd03
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@
#include "dcdbas.h"

#define DRIVER_NAME		"dcdbas"
#define DRIVER_VERSION		"5.6.0-1"
#define DRIVER_VERSION		"5.6.0-2"
#define DRIVER_DESCRIPTION	"Dell Systems Management Base Driver"

static struct platform_device *dcdbas_pdev;
@@ -581,9 +581,13 @@ static int __init dcdbas_init(void)
 */
static void __exit dcdbas_exit(void)
{
	platform_device_unregister(dcdbas_pdev);
	/*
	 * make sure functions that use dcdbas_pdev are called
	 * before platform_device_unregister
	 */
	unregister_reboot_notifier(&dcdbas_reboot_nb);
	smi_data_buf_free();
	platform_device_unregister(dcdbas_pdev);
}

module_init(dcdbas_init);