aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/kernel/broadcom-diag/src/diag.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c
index c2a0d09194..1fad586c52 100644
--- a/package/kernel/broadcom-diag/src/diag.c
+++ b/package/kernel/broadcom-diag/src/diag.c
@@ -1424,13 +1424,20 @@ static inline void ssb_maskset32(struct ssb_device *dev,
static void gpio_set_irqenable(int enabled, irqreturn_t (*handler)(int, void *))
{
int irq;
+ int err;
irq = gpio_to_irq(0);
- if (irq == -EINVAL) return;
+ if (irq < 0) {
+ pr_err("no irq for gpio available\n");
+ return;
+ }
if (enabled) {
- if (request_irq(irq, handler, IRQF_SHARED, "gpio", handler))
+ err = request_irq(irq, handler, IRQF_SHARED, "gpio", handler);
+ if (err) {
+ pr_err("can not reqeust irq\n");
return;
+ }
} else {
free_irq(irq, handler);
}