• A
    gianfar: Fix compiler and sparse warnings · 18294ad1
    Anton Vorontsov 提交于
    commit fba4ed03 ("gianfar: Add Multiple
    Queue Support") introduced the following warnings:
    
      CHECK   gianfar.c
    gianfar.c:333:8: warning: incorrect type in assignment (different address spaces)
    gianfar.c:333:8:    expected unsigned int [usertype] *baddr
    gianfar.c:333:8:    got unsigned int [noderef] <asn:2>*<noident>
    [... 67 lines skipped ...]
    gianfar.c:2565:3: warning: incorrect type in argument 1 (different type sizes)
    gianfar.c:2565:3:    expected unsigned long const *addr
    gianfar.c:2565:3:    got unsigned int *<noident>
      CC      gianfar.o
    gianfar.c: In function 'gfar_probe':
    gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:985: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:993: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c: In function 'gfar_configure_coalescing':
    gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:1680: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:1688: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c: In function 'gfar_poll':
    gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:2565: warning: passing argument 1 of 'find_next_bit' from incompatible pointer type
    gianfar.c:2566: warning: passing argument 2 of 'test_bit' from incompatible pointer type
    gianfar.c:2585: warning: passing argument 2 of 'set_bit' from incompatible pointer type
    
    Following warnings left unfixed (looks like sparse doesn't like
    locks in loops, so __acquires/__releases() doesn't help):
    
    gianfar.c:441:40: warning: context imbalance in 'lock_rx_qs': wrong count at exit
    gianfar.c:441:40:    context '<noident>': wanted 0, got 1
    gianfar.c:449:40: warning: context imbalance in 'lock_tx_qs': wrong count at exit
    gianfar.c:449:40:    context '<noident>': wanted 0, got 1
    gianfar.c:458:3: warning: context imbalance in 'unlock_rx_qs': __context__ statement expected different context
    gianfar.c:458:3:    context '<noident>': wanted >= 0, got -1
    gianfar.c:466:3: warning: context imbalance in 'unlock_tx_qs': __context__ statement expected different context
    gianfar.c:466:3:    context '<noident>': wanted >= 0, got -1
    Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    18294ad1
gianfar.c 79.2 KB