Roel Kluin wrote:
Jes Sorensen wrote:Roel Kluin wrote:lowest_free_index is unsigned, but in alloc_ate_resource() and free_ate_resource() it is treated as signedI don't thing it's a big issue to be honest, it just means the tests for lowest_free_index < 0 are no-ops. I would be fine with a patch that changes it to signed.Ok, How's this? If my changelog is not clear feel free to amend it.
Hi Roel, Please make it 'long' or 's64' to keep the size in the struct. Cheers, Jes
------------------------------>8-------------8<--------------------------------- unsigned lowest_free_index was set in alloc_ate_resource() with the return value of find_free_ate(), which is -1 when no free ate is found. Since unsigned, a lowest_free_index of -1, `ate exhaustion', would then not be noticed in a subsequent call to alloc_ate_resource(). Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx> --- diff --git a/arch/ia64/include/asm/sn/pcibr_provider.h b/arch/ia64/include/asm/sn/pcibr_provider.h index da205b7..b3133ef 100644 --- a/arch/ia64/include/asm/sn/pcibr_provider.h +++ b/arch/ia64/include/asm/sn/pcibr_provider.h @@ -94,7 +94,7 @@ struct ate_resource{ u64 *ate; u64 num_ate; - u64 lowest_free_index; + int lowest_free_index; };struct pcibus_info {
-- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |