diff options
Diffstat (limited to 'drivers/hwspinlock/hwspinlock_core.c')
| -rw-r--r-- | drivers/hwspinlock/hwspinlock_core.c | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/drivers/hwspinlock/hwspinlock_core.c b/drivers/hwspinlock/hwspinlock_core.c index 52f708bcf77f..d50c701b19d6 100644 --- a/drivers/hwspinlock/hwspinlock_core.c +++ b/drivers/hwspinlock/hwspinlock_core.c @@ -313,6 +313,10 @@ int of_hwspin_lock_get_id(struct device_node *np, int index)  		hwlock = radix_tree_deref_slot(slot);  		if (unlikely(!hwlock))  			continue; +		if (radix_tree_is_indirect_ptr(hwlock)) { +			slot = radix_tree_iter_retry(&iter); +			continue; +		}  		if (hwlock->bank->dev->of_node == args.np) {  			ret = 0; | 
