[ofa-general] Re: linux-next: [PATCH] infiniband/hw/ipath/ipath_sdma.c , fix compiler warnings
Roland Dreier
rdreier at cisco.com
Fri May 23 10:42:24 PDT 2008
> drivers/infiniband/hw/ipath/ipath_sdma.c: In function 'sdma_abort_task':
> drivers/infiniband/hw/ipath/ipath_sdma.c:267: warning: passing argument 2 of 'constant_test_bit' from incompatible pointer type
Perhaps the best way to fix these is to change code like
if (/* ScoreBoardDrainInProg */
test_bit(63, &hwstatus) ||
/* AbortInProg */
test_bit(62, &hwstatus) ||
/* InternalSDmaEnable */
test_bit(61, &hwstatus) ||
/* ScbEmpty */
!test_bit(30, &hwstatus)) {
to something like
if ((hwstatus & (IPATH_SDMA_STATUS_SCORE_BOARD_DRAIN_IN_PROG |
IPATH_SDMA_STATUS_ABORT_IN_PROG |
IPATH_SDMA_STATUS_INTERNAL_SDMA_ENABLE)) ||
!(hwstatus & IPATH_SDMA_STATUS_SCB_EMPTY)) {
with appropriate defines for the constants 1ull << 63 etc.
(I think I got the logic correct but someone should check)
> drivers/infiniband/hw/ipath/ipath_sdma.c:348: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int'
> drivers/infiniband/hw/ipath/ipath_sdma.c: In function 'ipath_restart_sdma':
> drivers/infiniband/hw/ipath/ipath_sdma.c:618: warning: format '%016llx' expects type 'long long unsigned int', but argument 3 has type 'long unsigned int'
I have a fix for this pending; will ask Linus to pull today.
More information about the general
mailing list