stm class: Do not leak the chrdev in error path

Currently, the error path of stm_register_device() forgets to unregister
the chrdev. Fix this.

Reported-by: Alan Cox <alan.cox@intel.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reviewed-by: Laurent Fert <laurent.fert@intel.com>
(cherry picked from commit cbe4a61d1ddc4790d950ca8c33ef79ee68ef5e2b)
This commit is contained in:
Alexander Shishkin 2016-03-04 16:36:10 +02:00 committed by Mathieu Poirier
parent 5a4e9c9c9c
commit 7c678b8584

View file

@ -688,6 +688,8 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data,
return 0;
err_device:
unregister_chrdev(stm->major, stm_data->name);
/* matches device_initialize() above */
put_device(&stm->dev);
err_free: