fix for depca driver
PATCH 1/1 fix for depca driver
Hi all,
the following patch fixes a kernel bug in depca_platform_probe().
We don't use a dynamic pointer for pldev->dev.platform_data, so it seems that the correct way to proceed if platform_device_add(pldev) fails is to explicitly set the pldev->dev.platform_data pointer to NULL, before calling the platform_device_put(pldev), or it will be kfree'ed by platform_device_release().
-Andrea
--- drivers/net/depca.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
drivers/net/depca.c +2 -1
@@ -1491,8 +1491,9 @@ static void __init depca_platform_probe depca_io_ports[i].device = pldev;if (platform_device_add (pldev)) { -platform_device_put (pldev); depca_io_ports[i].device =NULL ; + pldev->dev.platform_data =NULL ; +platform_device_put (pldev);continue ; }