From: Todd Poynor <toddpoynor@xxxxxxxxxx> Return EBUSY for attempt to create a mapping already in use. Remove stale pointers on error allocating attr array. Signed-off-by: Zhongze Hu <frankhu@xxxxxxxxxxxx> Signed-off-by: Todd Poynor <toddpoynor@xxxxxxxxxx> --- drivers/staging/gasket/gasket_sysfs.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/gasket/gasket_sysfs.c b/drivers/staging/gasket/gasket_sysfs.c index a3705d6e088a..d1856a09b894 100644 --- a/drivers/staging/gasket/gasket_sysfs.c +++ b/drivers/staging/gasket/gasket_sysfs.c @@ -213,7 +213,7 @@ int gasket_sysfs_create_mapping( "0x%p.", device); put_mapping(mapping); mutex_unlock(&function_mutex); - return -EINVAL; + return -EBUSY; } /* Find the first empty entry in the array. */ @@ -244,6 +244,8 @@ int gasket_sysfs_create_mapping( mapping->attribute_count = 0; if (!mapping->attributes) { gasket_nodev_error("Unable to allocate sysfs attribute array."); + mapping->device = NULL; + mapping->gasket_dev = NULL; mutex_unlock(&mapping->mutex); mutex_unlock(&function_mutex); return -ENOMEM; -- 2.18.0.203.gfac676dfb9-goog _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel