Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 74b0783b authored by Deva Ramasubramanian's avatar Deva Ramasubramanian Committed by Shivaraj Shetty
Browse files

switch: Reset device's drvdata before destroying it



dev_set_drvdata() sets the device specific driver data at
dev->p->driver_data.  However, dev is destroyed and has it's
context memory freed in device_destroy().  As a result, calling
dev_set_drvdata() causes a fault when accessing dev->p.

CRs-Fixed: 449732
Change-Id: I4b1e6d17db52d0e31caf9b52e59979ff9cbb0c12
Signed-off-by: default avatarDeva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: default avatarShivaraj Shetty <shivaraj@codeaurora.org>
parent cc0af699
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -151,8 +151,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);