From 12b2e1045b6975cf259f477abad1a8b211e73158 Mon Sep 17 00:00:00 2001 From: Manoj Gangwal Date: Wed, 1 Feb 2012 16:01:20 +0530 Subject: drivers: switch: fix unregister of switch device Driver data has to be set before destroying the device. Issue has been found in Secure OS. Bug 931758 Signed-off-by: Manoj Gangwal Reviewed-on: http://git-master/r/78688 (cherry picked from commit 1a79ae32474868a1ae457f01d0f9e10f4c21f59c) Change-Id: Iccc6adff5f79898e09d410c8898788597ac4859d Signed-off-by: Pritesh Raithatha Reviewed-on: http://git-master/r/82710 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Varun Wadekar Tested-by: Varun Wadekar Reviewed-by: Manoj Gangwal --- drivers/switch/switch_class.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/switch') diff --git a/drivers/switch/switch_class.c b/drivers/switch/switch_class.c index e05fc2591147..2c94752f6459 100644 --- a/drivers/switch/switch_class.c +++ b/drivers/switch/switch_class.c @@ -2,6 +2,7 @@ * drivers/switch/switch_class.c * * Copyright (C) 2008 Google, Inc. + * Copyright (C) 2012 - NVIDIA, Inc. * Author: Mike Lockwood * * This software is licensed under the terms of the GNU General Public @@ -151,8 +152,8 @@ void switch_dev_unregister(struct switch_dev *sdev) { device_remove_file(sdev->dev, &dev_attr_name); device_remove_file(sdev->dev, &dev_attr_state); - device_destroy(switch_class, MKDEV(0, sdev->index)); dev_set_drvdata(sdev->dev, NULL); + device_destroy(switch_class, MKDEV(0, sdev->index)); } EXPORT_SYMBOL_GPL(switch_dev_unregister); -- cgit v1.2.3