1. 08 11月, 2009 6 次提交
    • E
      net: Support specifying the network namespace upon device creation. · 81adee47
      Eric W. Biederman 提交于
      There is no good reason to not support userspace specifying the
      network namespace during device creation, and it makes it easier
      to create a network device and pass it to a child network namespace
      with a well known name.
      
      We have to be careful to ensure that the target network namespace
      for the new device exists through the life of the call.  To keep
      that logic clear I have factored out the network namespace grabbing
      logic into rtnl_link_get_net.
      
      In addtion we need to continue to pass the source network namespace
      to the rtnl_link_ops.newlink method so that we can find the base
      device source network namespace.
      Signed-off-by: NEric W. Biederman <ebiederm@aristanetworks.com>
      Acked-by: NEric Dumazet <eric.dumazet@gmail.com>
      81adee47
    • J
      appletalk/ddp.c: Neaten checksum function · f7a3a1d8
      Joe Perches 提交于
      atalk_sum_partial can now use the rol16 function in bitops.h
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f7a3a1d8
    • E
      ipv6: avoid dev_hold()/dev_put() in rawv6_bind() · fd5c0027
      Eric Dumazet 提交于
      Using RCU helps not touching device refcount in rawv6_bind()
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd5c0027
    • 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
    • A
      fsl_pq_mdio: Fix compiler/sparse warnings (part 2) · 6748f60b
      Anton Vorontsov 提交于
      This patch fixes following warnings:
      
      fsl_pq_mdio.c:112:38: warning: cast adds address space to expression (<asn:2>)
      fsl_pq_mdio.c:124:38: warning: cast adds address space to expression (<asn:2>)
      fsl_pq_mdio.c:133:38: warning: cast adds address space to expression (<asn:2>)
      fsl_pq_mdio.c:414:11: warning: cast adds address space to expression (<asn:2>)
      
      Instead of adding __force all over the place, introduce convenient
      fsl_pq_mdio_get_regs() call that does the ugly casting just once.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6748f60b
    • A
      fsl_pq_mdio: Fix compiler/sparse warnings (part 1) · 2951d64e
      Anton Vorontsov 提交于
      commit 1d2397d7 ("fsl_pq_mdio: Add
      Suport for etsec2.0 devices") introduced the following warnings:
      
        CHECK   fsl_pq_mdio.c
      fsl_pq_mdio.c:287:22: warning: incorrect type in initializer (different base types)
      fsl_pq_mdio.c:287:22:    expected unknown type 11 const *__mptr
      fsl_pq_mdio.c:287:22:    got unsigned long long [unsigned] [assigned] [usertype] addr
      fsl_pq_mdio.c:287:19: warning: incorrect type in assignment (different base types)
      fsl_pq_mdio.c:287:19:    expected unsigned long long [unsigned] [usertype] ioremap_miimcfg
      fsl_pq_mdio.c:287:19:    got struct fsl_pq_mdio *<noident>
        CC      fsl_pq_mdio.o
      fsl_pq_mdio.c: In function 'fsl_pq_mdio_probe':
      fsl_pq_mdio.c:287: warning: initialization makes pointer from integer without a cast
      fsl_pq_mdio.c:287: warning: assignment makes integer from pointer without a cast
      
      These warnings are not easy to fix without ugly __force casts. So,
      instead of introducing the casts, rework the code to substitute an
      offset from an already mapped area. This makes the code a lot simpler
      and less duplicated.
      
      Plus, from now on we don't actually map reserved registers on
      non-etsec2.0 devices, so we have more chances to catch programming
      errors.
      Signed-off-by: NAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2951d64e
  2. 07 11月, 2009 17 次提交
  3. 06 11月, 2009 17 次提交