b32699d09fadf988d78a8fa1aa4b1b1e41696a5a
[oweals/openwrt.git] /
1 From 1ada615db1b97faec9c4625ccfd2cc35d54d850a Mon Sep 17 00:00:00 2001
2 From: Stefan Wahren <stefan.wahren@i2se.com>
3 Date: Sat, 13 Oct 2018 20:51:23 +0200
4 Subject: [PATCH] staging: vchiq_arm: Fix platform device
5  unregistration
6
7 In error case platform_device_register_data would return an ERR_PTR
8 instead of NULL. So we better check this before unregistration.
9
10 Fixes: 37b7b3087a2f ("staging/vc04_services: Register a platform device for the camera driver.")
11 Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
12 ---
13  drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 ++-
14  1 file changed, 2 insertions(+), 1 deletion(-)
15
16 --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
17 +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
18 @@ -3656,7 +3656,8 @@ failed_platform_init:
19  
20  static int vchiq_remove(struct platform_device *pdev)
21  {
22 -       platform_device_unregister(bcm2835_camera);
23 +       if (!IS_ERR(bcm2835_camera))
24 +               platform_device_unregister(bcm2835_camera);
25         vchiq_debugfs_deinit();
26         device_destroy(vchiq_class, vchiq_devid);
27         class_destroy(vchiq_class);