+9
-6
drivers/gpio/gpiolib-sysfs.c
+9
-6
drivers/gpio/gpiolib-sysfs.c
···
474
474
goto done;
475
475
476
476
status = gpiod_set_transitory(desc, false);
477
-
if (!status) {
478
-
status = gpiod_export(desc, true);
479
-
if (status < 0)
480
-
gpiod_free(desc);
481
-
else
482
-
set_bit(FLAG_SYSFS, &desc->flags);
477
+
if (status) {
478
+
gpiod_free(desc);
479
+
goto done;
483
480
}
481
+
482
+
status = gpiod_export(desc, true);
483
+
if (status < 0)
484
+
gpiod_free(desc);
485
+
else
486
+
set_bit(FLAG_SYSFS, &desc->flags);
484
487
485
488
done:
486
489
if (status)