static struct pinctrl *find_pinctrl(struct device *dev)
 {
-       struct pinctrl *p;
+       struct pinctrl *entry, *p = NULL;
 
        mutex_lock(&pinctrl_list_mutex);
-       list_for_each_entry(p, &pinctrl_list, node)
-               if (p->dev == dev) {
-                       mutex_unlock(&pinctrl_list_mutex);
-                       return p;
+
+       list_for_each_entry(entry, &pinctrl_list, node) {
+               if (entry->dev == dev) {
+                       p = entry;
+                       kref_get(&p->users);
+                       break;
                }
+       }
 
        mutex_unlock(&pinctrl_list_mutex);
-       return NULL;
+       return p;
 }
 
 static void pinctrl_free(struct pinctrl *p, bool inlist);
        p = find_pinctrl(dev);
        if (p) {
                dev_dbg(dev, "obtain a copy of previously claimed pinctrl\n");
-               kref_get(&p->users);
                return p;
        }