b32699d09fadf988d78a8fa1aa4b1b1e41696a5a
[openwrt/staging/blocktrron.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);