ida_find_first_range
int ida_find_first_range(struct ida *ida, unsigned int min, unsigned int max);
return ida_find_first_range(ida, id, id) == id;
return ida_find_first_range(ida, 0, ~0);
EXPORT_SYMBOL(ida_find_first_range);
IDA_BUG_ON(ida, ida_find_first_range(ida, -1, 2) != -EINVAL);
IDA_BUG_ON(ida, ida_find_first_range(ida, 0, 2) != -ENOENT); // no used ID
IDA_BUG_ON(ida, ida_find_first_range(ida, 0, 3) != 3);
IDA_BUG_ON(ida, ida_find_first_range(ida, 1, 3) != 3);
IDA_BUG_ON(ida, ida_find_first_range(ida, 3, 3) != 3);
IDA_BUG_ON(ida, ida_find_first_range(ida, 2, 4) != 3);
IDA_BUG_ON(ida, ida_find_first_range(ida, 4, 3) != -ENOENT); // min > max, fail
IDA_BUG_ON(ida, ida_find_first_range(ida, 4, 60) != -ENOENT); // no used ID
IDA_BUG_ON(ida, ida_find_first_range(ida, 4, 64) != 63);
IDA_BUG_ON(ida, ida_find_first_range(ida, 63, 63) != 63);
IDA_BUG_ON(ida, ida_find_first_range(ida, 64, 1026) != 1023);
IDA_BUG_ON(ida, ida_find_first_range(ida, 1023, 1023) != 1023);
IDA_BUG_ON(ida, ida_find_first_range(ida, 1023, (1 << 20) - 1) != 1023);
IDA_BUG_ON(ida, ida_find_first_range(ida, 1024, (1 << 20) - 1) != (1 << 20) - 1);
IDA_BUG_ON(ida, ida_find_first_range(ida, (1 << 20), INT_MAX) != -ENOENT);
if (ida_find_first_range(&conn->tx_ida, id, id) >= 0)