diff options
Diffstat (limited to 'lib/idr.c')
| -rw-r--r-- | lib/idr.c | 2 |
1 files changed, 1 insertions, 1 deletions
| @@ -449,6 +449,7 @@ void idr_remove_all(struct idr *idp) | |||
| 449 | 449 | ||
| 450 | n = idp->layers * IDR_BITS; | 450 | n = idp->layers * IDR_BITS; |
| 451 | p = idp->top; | 451 | p = idp->top; |
| 452 | rcu_assign_pointer(idp->top, NULL); | ||
| 452 | max = 1 << n; | 453 | max = 1 << n; |
| 453 | 454 | ||
| 454 | id = 0; | 455 | id = 0; |
| @@ -467,7 +468,6 @@ void idr_remove_all(struct idr *idp) | |||
| 467 | p = *--paa; | 468 | p = *--paa; |
| 468 | } | 469 | } |
| 469 | } | 470 | } |
| 470 | rcu_assign_pointer(idp->top, NULL); | ||
| 471 | idp->layers = 0; | 471 | idp->layers = 0; |
| 472 | } | 472 | } |
| 473 | EXPORT_SYMBOL(idr_remove_all); | 473 | EXPORT_SYMBOL(idr_remove_all); |
