Skip to content

Commit 5a646e0

Browse files
andy-shevBartosz Golaszewski
authored andcommitted
gpiolib: Return label, if set, for IRQ only line
If line has been locked as IRQ without requesting, still check its label and return it, if not NULL. Signed-off-by: Andy Shevchenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bartosz Golaszewski <[email protected]>
1 parent ea95bd8 commit 5a646e0

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

drivers/gpio/gpiolib.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,16 +106,16 @@ const char *gpiod_get_label(struct gpio_desc *desc)
106106
unsigned long flags;
107107

108108
flags = READ_ONCE(desc->flags);
109-
if (test_bit(FLAG_USED_AS_IRQ, &flags) &&
110-
!test_bit(FLAG_REQUESTED, &flags))
111-
return "interrupt";
112-
113-
if (!test_bit(FLAG_REQUESTED, &flags))
114-
return NULL;
115109

116110
label = srcu_dereference_check(desc->label, &desc->gdev->desc_srcu,
117111
srcu_read_lock_held(&desc->gdev->desc_srcu));
118112

113+
if (test_bit(FLAG_USED_AS_IRQ, &flags))
114+
return label->str ?: "interrupt";
115+
116+
if (!test_bit(FLAG_REQUESTED, &flags))
117+
return NULL;
118+
119119
return label->str;
120120
}
121121

0 commit comments

Comments
 (0)