[PATCH RFC 04/11] staging: vchiq_arm: Fix platform device unregistration

Dan Carpenter dan.carpenter at oracle.com
Fri Oct 26 08:07:25 UTC 2018


On Thu, Oct 25, 2018 at 05:29:28PM +0200, Stefan Wahren wrote:
> In error case platform_device_register_data would return an ERR_PTR
> instead of NULL. So we better check this before unregistration.
> 
> Fixes: 37b7b3087a2f ("staging/vc04_services: Register a platform device for the camera driver.")
> Signed-off-by: Stefan Wahren <stefan.wahren at i2se.com>
> ---
>  drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> index ea78937..d7d7c2f0 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
> @@ -3672,7 +3672,8 @@ static int vchiq_probe(struct platform_device *pdev)
>  
>  static int vchiq_remove(struct platform_device *pdev)
>  {
> -	platform_device_unregister(bcm2835_camera);
> +	if (!IS_ERR(bcm2835_camera))
> +		platform_device_unregister(bcm2835_camera);

This wouldn't be needed if we checked for platform_device_register_data()
errors in probe.  That would be a better fix.

This is obviously a bug, but is it a real life bug, btw?  I would be
surprised if platform_device_register_data() actually failed.

regards,
dan carpenter



More information about the devel mailing list