1. 01 9月, 2009 1 次提交
  2. 06 7月, 2009 1 次提交
  3. 18 5月, 2009 2 次提交
  4. 05 5月, 2009 1 次提交
  5. 16 4月, 2009 1 次提交
  6. 22 1月, 2009 1 次提交
  7. 13 1月, 2009 1 次提交
  8. 07 1月, 2009 1 次提交
    • S
      ibmveth: use consistent types · ff5bfc35
      Stephen Rothwell 提交于
      These variables are only used with an interface that just dumps their
      values into registers to be passed to the hypervisor. The arguments
      to that interface are declared to be "unsigned long", so make these
      variables match.  The macros are only used with these variables, so make
      them match as well.
      
      This code is currently only built for 64bit powerpc, so the transformation
      is really a noop.  If the interface was ever ported to 32 bit, it would
      almost certainly still use registers to pass the parameters and so
      "unsigned long" would still be appropriate.
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff5bfc35
  9. 29 12月, 2008 1 次提交
  10. 23 12月, 2008 1 次提交
  11. 13 11月, 2008 1 次提交
    • W
      netdevice: safe convert to netdev_priv() #part-2 · 4cf1653a
      Wang Chen 提交于
      We have some reasons to kill netdev->priv:
      1. netdev->priv is equal to netdev_priv().
      2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
         netdev_priv() is more flexible than netdev->priv.
      But we cann't kill netdev->priv, because so many drivers reference to it
      directly.
      
      This patch is a safe convert for netdev->priv to netdev_priv(netdev).
      Since all of the netdev->priv is only for read.
      But it is too big to be sent in one mail.
      I split it to 4 parts and make every part smaller than 100,000 bytes,
      which is max size allowed by vger.
      Signed-off-by: NWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cf1653a
  12. 04 11月, 2008 1 次提交
  13. 28 10月, 2008 1 次提交
  14. 27 8月, 2008 1 次提交
    • S
      ibmveth: fix bad UDP checksums · 45e15bb7
      Santiago Leon 提交于
      This patch fixes a ibmveth bug where bad UDP checksums are being transmitted
      when checksum offloading is enabled.
      The hypervisor does checksum offloading only on TCP packets, so ibmveth calls
      skb_checksum_help() for any other protocol.  The bug happens because
      the packet is being modified after the DMA map, so we would need a memory
      barrier before making the hypervisor call.  Reordering the code so that the
      DMA map happens after skb_checksum_help() has the additional advantage of
      fixing a DMA map leak if skb_checksum_help() where to fail.
      Signed-off-by: NSantiago Leon <santil@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      45e15bb7
  15. 28 7月, 2008 1 次提交
    • S
      ibmveth: Fix multiple errors with dma_mapping_error conversion · c713e7cb
      Stephen Rothwell 提交于
      The addition of an argument to dma_mapping_error() in commit
      8d8bb39b "dma-mapping: add the device
      argument to dma_mapping_error()" left a bit of fallout:
      
      drivers/net/ibmveth.c:263: error: too few arguments to function 'dma_mapping_error'
      drivers/net/ibmveth.c:264: error: expected ')' before 'goto'
      drivers/net/ibmveth.c:284: error: expected expression before '}' token
      drivers/net/ibmveth.c:297: error: too few arguments to function 'dma_mapping_error'
      drivers/net/ibmveth.c:298: error: expected ')' before 'dma_unmap_single'
      drivers/net/ibmveth.c:306: error: expected expression before '}' token
      drivers/net/ibmveth.c:491: error: too few arguments to function 'dma_mapping_error'
      drivers/net/ibmveth.c:927: error: too few arguments to function 'dma_mapping_error'
      drivers/net/ibmveth.c:927: error: expected ')' before '{' token
      drivers/net/ibmveth.c:974: error: expected expression before '}' token
      drivers/net/ibmveth.c:914: error: label 'out' used but not defined m
      Signed-off-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c713e7cb
  16. 27 7月, 2008 1 次提交
    • F
      dma-mapping: add the device argument to dma_mapping_error() · 8d8bb39b
      FUJITA Tomonori 提交于
      Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER
      architecture does:
      
      This enables us to cleanly fix the Calgary IOMMU issue that some devices
      are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423).
      
      I think that per-device dma_mapping_ops support would be also helpful for
      KVM people to support PCI passthrough but Andi thinks that this makes it
      difficult to support the PCI passthrough (see the above thread).  So I
      CC'ed this to KVM camp.  Comments are appreciated.
      
      A pointer to dma_mapping_ops to struct dev_archdata is added.  If the
      pointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it's
      NULL, the system-wide dma_ops pointer is used as before.
      
      If it's useful for KVM people, I plan to implement a mechanism to register
      a hook called when a new pci (or dma capable) device is created (it works
      with hot plugging).  It enables IOMMUs to set up an appropriate
      dma_mapping_ops per device.
      
      The major obstacle is that dma_mapping_error doesn't take a pointer to the
      device unlike other DMA operations.  So x86 can't have dma_mapping_ops per
      device.  Note all the POWER IOMMUs use the same dma_mapping_error function
      so this is not a problem for POWER but x86 IOMMUs use different
      dma_mapping_error functions.
      
      The first patch adds the device argument to dma_mapping_error.  The patch
      is trivial but large since it touches lots of drivers and dma-mapping.h in
      all the architecture.
      
      This patch:
      
      dma_mapping_error() doesn't take a pointer to the device unlike other DMA
      operations.  So we can't have dma_mapping_ops per device.
      
      Note that POWER already has dma_mapping_ops per device but all the POWER
      IOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device
      argument.
      
      [akpm@linux-foundation.org: fix sge]
      [akpm@linux-foundation.org: fix svc_rdma]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix bnx2x]
      [akpm@linux-foundation.org: fix s2io]
      [akpm@linux-foundation.org: fix pasemi_mac]
      [akpm@linux-foundation.org: fix sdhci]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix sparc]
      [akpm@linux-foundation.org: fix ibmvscsi]
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Muli Ben-Yehuda <muli@il.ibm.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Avi Kivity <avi@qumranet.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8d8bb39b
  17. 25 7月, 2008 2 次提交
  18. 29 4月, 2008 1 次提交
  19. 19 4月, 2008 1 次提交
  20. 26 3月, 2008 1 次提交
  21. 25 1月, 2008 2 次提交
  22. 13 10月, 2007 1 次提交
  23. 11 10月, 2007 13 次提交
  24. 08 8月, 2007 2 次提交
    • M
      drivers/net/ibmveth.c: memset fix · 9dc83afd
      Mariusz Kozlowski 提交于
      > >> 	Looks like memset() is zeroing wrong nr of bytes.
      > >
      > > Good catch, however, I think we can just remove this memset altogether
      > > since the memory gets allocated via kzalloc.
      >
      > Correct, that memset() is superfluous.
      
      Ok. Then this should do it.
      Signed-off-by: NMariusz Kozlowski <m.kozlowski@tuxland.pl>
      
       drivers/net/ibmveth.c |    3 +--
       1 file changed, 1 insertion(+), 2 deletions(-)
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9dc83afd
    • B
      ibmveth: Fix rx pool deactivate oops · 76b9cfcc
      Brian King 提交于
      This fixes the following oops which can occur when trying to deallocate
      receive buffer pools using sysfs with the ibmveth driver.
      
      NIP: d00000000024f954 LR: d00000000024fa58 CTR: c0000000000d7478
      REGS: c00000000ffef9f0 TRAP: 0300   Not tainted  (2.6.22-ppc64)
      MSR: 8000000000009032 <EE,ME,IR,DR>  CR: 24242442  XER: 00000010
      DAR: 00000000000007f0, DSISR: 0000000042000000
      TASK = c000000002f91360[2967] 'bash' THREAD: c00000001398c000 CPU: 2
      GPR00: 0000000000000000 c00000000ffefc70 d000000000262d30 c00000001c4087a0
      GPR04: 00000003000000fe 0000000000000000 000000000000000f c000000000579d80
      GPR08: 0000000000365688 c00000001c408998 00000000000007f0 0000000000000000
      GPR12: d000000000251e88 c000000000579d80 00000000200957ec 0000000000000000
      GPR16: 00000000100b8808 00000000100feb30 0000000000000000 0000000010084828
      GPR20: 0000000000000000 000000001014d4d0 0000000000000010 c00000000ffefeb0
      GPR24: c00000001c408000 0000000000000000 c00000001c408000 00000000ffffb054
      GPR28: 00000000000000fe 0000000000000003 d000000000262700 c00000001c4087a0
      NIP [d00000000024f954] .ibmveth_remove_buffer_from_pool+0x38/0x108 [ibmveth]
      LR [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
      Call Trace:
      [c00000000ffefc70] [c0000000000280a8] .dma_iommu_unmap_single+0x14/0x28 (unreliable)
      [c00000000ffefd00] [d00000000024fa58] .ibmveth_rxq_harvest_buffer+0x34/0x78 [ibmveth]
      [c00000000ffefd80] [d000000000250e40] .ibmveth_poll+0xd8/0x434 [ibmveth]
      [c00000000ffefe40] [c00000000032da8c] .net_rx_action+0xdc/0x248
      [c00000000ffefef0] [c000000000068b4c] .__do_softirq+0xa8/0x164
      [c00000000ffeff90] [c00000000002789c] .call_do_softirq+0x14/0x24
      [c00000001398f6f0] [c00000000000c04c] .do_softirq+0x68/0xac
      [c00000001398f780] [c000000000068ca0] .irq_exit+0x54/0x6c
      [c00000001398f800] [c00000000000c8e4] .do_IRQ+0x170/0x1ac
      [c00000001398f890] [c000000000004790] hardware_interrupt_entry+0x18/0x1c
         Exception: 501 at .plpar_hcall_norets+0x24/0x94
          LR = .veth_pool_store+0x15c/0x298 [ibmveth]
      [c00000001398fb80] [d000000000250b2c] .veth_pool_store+0x5c/0x298 [ibmveth] (unreliable)
      [c00000001398fc30] [c000000000145530] .sysfs_write_file+0x140/0x1d8
      [c00000001398fcf0] [c0000000000de89c] .vfs_write+0x120/0x208
      [c00000001398fd90] [c0000000000df2c8] .sys_write+0x4c/0x8c
      [c00000001398fe30] [c0000000000086ac] syscall_exit+0x0/0x40
      Instruction dump:
      fba1ffe8 fbe1fff8 789d0022 f8010010 f821ff71 789c0020 1d3d00a8 7b8a1f24
      38000000 7c7f1b78 7d291a14 e9690128 <7c0a592a> e8030000 e9690120 80a90100
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      76b9cfcc