aboutsummaryrefslogtreecommitdiff
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorJan Engelmohr <jan.engelmohr@mailbox.tu-dresden.de>2016-07-26 15:25:59 +0200
committerMoyster <oysterized@gmail.com>2016-08-26 15:52:24 +0200
commit516480c70a5392533c2e3a81863ac02206a66e1b (patch)
treec22efa9678c72859bd4f47c40d40e57139fa8131 /drivers/pinctrl
parent08b83025dbff0cf59c6de550262999b3959067b2 (diff)
3.10.66 -> 3.10.67
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index bb7ee9cb0..9c9fc69a0 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1693,14 +1693,15 @@ void pinctrl_unregister(struct pinctrl_dev *pctldev)
if (pctldev == NULL)
return;
- mutex_lock(&pinctrldev_list_mutex);
mutex_lock(&pctldev->mutex);
-
pinctrl_remove_device_debugfs(pctldev);
+ mutex_unlock(&pctldev->mutex);
if (!IS_ERR(pctldev->p))
pinctrl_put(pctldev->p);
+ mutex_lock(&pinctrldev_list_mutex);
+ mutex_lock(&pctldev->mutex);
/* TODO: check that no pinmuxes are still active? */
list_del(&pctldev->node);
/* Destroy descriptor tree */