#include "ksmbd_ida.h"
 
-static inline int __acquire_id(struct ida *ida, int from, int to)
-{
-       return ida_simple_get(ida, from, to, GFP_KERNEL);
-}
-
 int ksmbd_acquire_smb2_tid(struct ida *ida)
 {
-       int id;
-
-       id = __acquire_id(ida, 1, 0xFFFFFFFF);
-
-       return id;
+       return ida_alloc_range(ida, 1, 0xFFFFFFFE, GFP_KERNEL);
 }
 
 int ksmbd_acquire_smb2_uid(struct ida *ida)
 {
        int id;
 
-       id = __acquire_id(ida, 1, 0);
+       id = ida_alloc_min(ida, 1, GFP_KERNEL);
        if (id == 0xFFFE)
-               id = __acquire_id(ida, 1, 0);
+               id = ida_alloc_min(ida, 1, GFP_KERNEL);
 
        return id;
 }
 
 int ksmbd_acquire_async_msg_id(struct ida *ida)
 {
-       return __acquire_id(ida, 1, 0);
+       return ida_alloc_min(ida, 1, GFP_KERNEL);
 }
 
 int ksmbd_acquire_id(struct ida *ida)
 {
-       return __acquire_id(ida, 0, 0);
+       return ida_alloc(ida, GFP_KERNEL);
 }
 
 void ksmbd_release_id(struct ida *ida, int id)
 {
-       ida_simple_remove(ida, id);
+       ida_free(ida, id);
 }