diff options
Diffstat (limited to 'drivers/pinctrl/pinmux.c')
| -rw-r--r-- | drivers/pinctrl/pinmux.c | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c index 1a00658b3ea..bd83c8b01cd 100644 --- a/drivers/pinctrl/pinmux.c +++ b/drivers/pinctrl/pinmux.c @@ -194,6 +194,11 @@ static const char *pin_free(struct pinctrl_dev *pctldev, int pin,  	}  	if (!gpio_range) { +		/* +		 * A pin should not be freed more times than allocated. +		 */ +		if (WARN_ON(!desc->mux_usecount)) +			return NULL;  		desc->mux_usecount--;  		if (desc->mux_usecount)  			return NULL;  |