[PATCH 05/18] staging: gasket: sysfs mapping creation fixups

Todd Poynor toddpoynor at gmail.com
Sat Jul 14 05:58:03 UTC 2018


From: Todd Poynor <toddpoynor at google.com>

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 at chromium.org>
Signed-off-by: Todd Poynor <toddpoynor at google.com>
---
 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



More information about the devel mailing list