mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
staging: tidspbridge: fix incorrect free to drv_datap
This structure is still used after it has been freed, since it is being allocated in probe, calls to free it have been moved to module's remove routine. This should fix the follwoing messages when attempting to remove the module: drv_get_first_dev_extension: Failed to retrieve the object handle drv_get_first_dev_extension: Failed to retrieve the object handle drv_destroy: Failed to store DRV object mgr_destroy: Failed to store MGR object Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5a63177a69
commit
44c5435064
2 changed files with 3 additions and 2 deletions
|
@ -1046,8 +1046,6 @@ static int bridge_dev_destroy(struct bridge_dev_context *dev_ctxt)
|
|||
|
||||
/* Free the driver's device context: */
|
||||
kfree(drv_datap->base_img);
|
||||
kfree(drv_datap);
|
||||
dev_set_drvdata(bridge, NULL);
|
||||
kfree((void *)dev_ctxt);
|
||||
return status;
|
||||
}
|
||||
|
|
|
@ -410,6 +410,9 @@ static int __devexit omap34_xx_bridge_remove(struct platform_device *pdev)
|
|||
DBC_ASSERT(ret == true);
|
||||
}
|
||||
|
||||
kfree(drv_datap);
|
||||
dev_set_drvdata(bridge, NULL);
|
||||
|
||||
func_cont:
|
||||
mem_ext_phys_pool_release();
|
||||
|
||||
|
|
Loading…
Reference in a new issue