From 69cb69ea55420388b444ee30b1530ec15ab584f7 Mon Sep 17 00:00:00 2001 From: "Matthew Wilcox (Oracle)" Date: Sun, 10 Jul 2022 16:15:10 -0400 Subject: ida: Remove assertions that an ID was allocated Nobody finds value in asserting that an ID that we try to free was already allocated, so just remove those assertions. Signed-off-by: Matthew Wilcox (Oracle) --- lib/idr.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/lib/idr.c b/lib/idr.c index 7ecdfdb5309e..aacb3e6d895d 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -491,25 +491,22 @@ void ida_free(struct ida *ida, unsigned int id) struct ida_bitmap *bitmap; unsigned long flags; - if ((int)id < 0) - return; - xas_lock_irqsave(&xas, flags); bitmap = xas_load(&xas); if (xa_is_value(bitmap)) { unsigned long v = xa_to_value(bitmap); if (bit >= BITS_PER_XA_VALUE) - goto err; + goto not_found; if (!(v & (1UL << bit))) - goto err; + goto not_found; v &= ~(1UL << bit); if (!v) goto delete; xas_store(&xas, xa_mk_value(v)); } else { if (!test_bit(bit, bitmap->bitmap)) - goto err; + goto not_found; __clear_bit(bit, bitmap->bitmap); xas_set_mark(&xas, XA_FREE_MARK); if (bitmap_empty(bitmap->bitmap, IDA_BITMAP_BITS)) { @@ -518,11 +515,8 @@ delete: xas_store(&xas, NULL); } } +not_found: xas_unlock_irqrestore(&xas, flags); - return; - err: - xas_unlock_irqrestore(&xas, flags); - WARN(1, "ida_free called for id=%d which is not allocated.\n", id); } EXPORT_SYMBOL(ida_free); -- cgit v1.2.1