fbdev: n411: check return value

Started by Sudip Mukherjee on Feb 23, 2016 · 2 messages from 2 authors · Last reply Feb 26, 2016

Subsystems (2)

Maintainers (2)

STALE3911d

open the first message on its own page

Message details and related content
We were not checking the return value of platform_device_add_data()
which can fail.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
---
 drivers/video/fbdev/n411.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/n411.c b/drivers/video/fbdev/n411.c
index 935830f..053deac 100644
--- a/drivers/video/fbdev/n411.c
+++ b/drivers/video/fbdev/n411.c
@@ -165,16 +165,22 @@ static int __init n411_init(void)
 	if (!n411_device)
 		return -ENOMEM;
 
-	platform_device_add_data(n411_device, &n411_board, sizeof(n411_board));
+	ret = platform_device_add_data(n411_device, &n411_board,
+				       sizeof(n411_board));
+	if (ret)
+		goto put_plat_device;
 
 	/* this _add binds hecubafb to n411. hecubafb refcounts n411 */
 	ret = platform_device_add(n411_device);
 
 	if (ret)
-		platform_device_put(n411_device);
+		goto put_plat_device;
 
-	return ret;
+	return 0;
 
+put_plat_device:
+	platform_device_put(n411_device);
+	return ret;
 }
 
 static void __exit n411_exit(void)
-- 
1.9.1
Message details and related content

On 23/02/16 14:44, Sudip Mukherjee wrote:
We were not checking the return value of platform_device_add_data()
which can fail.

Signed-off-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
---
 drivers/video/fbdev/n411.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
Thanks, queued for 4.6.

 Tomi
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help