03 Dec, 2010

1 commit


02 Dec, 2010

1 commit

  • ConnectX firmware is supposed to report the number blue flame
    registers per page as log2 of the value. However, due to a firmware
    bug, it reports actual number. This patch works around this by
    checking if the number of registers calculated fits within a page. If
    it does not, we use 8 registers per page.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     

28 Oct, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (108 commits)
    ehea: Fixing statistics
    bonding: Fix lockdep warning after bond_vlan_rx_register()
    tunnels: Fix tunnels change rcu protection
    caif-u5500: Build config for CAIF shared mem driver
    caif-u5500: CAIF shared memory mailbox interface
    caif-u5500: CAIF shared memory transport protocol
    caif-u5500: Adding shared memory include
    drivers/isdn: delete double assignment
    drivers/net/typhoon.c: delete double assignment
    drivers/net/sb1000.c: delete double assignment
    qlcnic: define valid vlan id range
    qlcnic: reduce rx ring size
    qlcnic: fix mac learning
    ehea: fix use after free
    inetpeer: __rcu annotations
    fib_rules: __rcu annotates ctarget
    tunnels: add __rcu annotations
    net: add __rcu annotations to protocol
    ipv4: add __rcu annotations to routes.c
    qlge: bugfix: Restoring the vlan setting.
    ...

    Linus Torvalds
     

27 Oct, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (63 commits)
    IB/qib: clean up properly if pci_set_consistent_dma_mask() fails
    IB/qib: Allow driver to load if PCIe AER fails
    IB/qib: Fix uninitialized pointer if CONFIG_PCI_MSI not set
    IB/qib: Fix extra log level in qib_early_err()
    RDMA/cxgb4: Remove unnecessary KERN_ use
    RDMA/cxgb3: Remove unnecessary KERN_ use
    IB/core: Add link layer type information to sysfs
    IB/mlx4: Add VLAN support for IBoE
    IB/core: Add VLAN support for IBoE
    IB/mlx4: Add support for IBoE
    mlx4_en: Change multicast promiscuous mode to support IBoE
    mlx4_core: Update data structures and constants for IBoE
    mlx4_core: Allow protocol drivers to find corresponding interfaces
    IB/uverbs: Return link layer type to userspace for query port operation
    IB/srp: Sync buffer before posting send
    IB/srp: Use list_first_entry()
    IB/srp: Reduce number of BUSY conditions
    IB/srp: Eliminate two forward declarations
    IB/mlx4: Signal node desc changes to SM by using FW to generate trap 144
    IB: Replace EXTRA_CFLAGS with ccflags-y
    ...

    Linus Torvalds
     
  • …sc', 'mlx4', 'nes', 'qib' and 'srp' into for-next

    Roland Dreier
     

26 Oct, 2010

5 commits

  • When searching for a free entry in either mlx4_register_vlan() or
    mlx4_register_mac(), and there is no free entry, the loop terminates without
    updating the local variable free thus causing out of array bounds access. Fix
    this by adding a proper check outside the loop.

    Signed-off-by: Eli Cohen
    Signed-off-by: David S. Miller

    Eli Cohen
     
  • This patch allows IBoE traffic to be encapsulated in 802.1Q tagged
    VLAN frames. The VLAN tag is encoded in the GID and derived from it
    by a simple computation.

    The netdev notifier callback is modified to catch VLAN device
    addition/removal and the port's GID table is updated to reflect the
    change, so that for each netdevice there is an entry in the GID table.
    When the port's GID table is exhausted, GID entries will not be added.
    Only children of the main interfaces can add to the GID table; if a
    VLAN interface is added on another VLAN interface (e.g. "vconfig add
    eth2.6 8"), then that interfaces will not add an entry to the GID
    table.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     
  • Change multicast promiscuous mode to pass packets through the multicast group distribution table
    before sending packets that miss to the default multicast QP.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     
  • Add fields to hardware data structures and add new constants required for IBoE
    support.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     
  • Add a mechanism for mlx4 protocol drivers to get a pointer to other
    drivers's device objects. For this, an exported function,
    mlx4_get_protocol_dev() is added, which allows a driver to get some
    other driver's device based on the protocol that the driver
    implements. Two protocols are added: MLX4_PROTOCOL_IB and
    MLX4_PROTOCOL_EN.

    This will be used in mlx4 IBoE support so that mlx4_ib can find the
    corresponding mlx4_en netdev.

    Signed-off-by: Eli Cohen

    [ Clean up and rename a few things. - Roland ]

    Signed-off-by: Roland Dreier

    Eli Cohen
     

25 Oct, 2010

1 commit


21 Oct, 2010

1 commit

  • Many (but not all) drivers check to see whether there is a vlan
    group configured before using a tag stored in the skb. There's
    not much point in this check since it just throws away data that
    should only be present in the expected circumstances. However,
    it will soon be legal and expected to get a vlan tag when no
    vlan group is configured, so remove this check from all drivers
    to avoid dropping the tags.

    Signed-off-by: Jesse Gross
    Signed-off-by: David S. Miller

    Jesse Gross
     

29 Sep, 2010

1 commit

  • As there are now machines with a lot more physical memory, we need to
    be able to register more memory. This patch lifts the upper limit of
    log_mtts_per_seg from 5 to 7, increasing the amount of memory that can
    be registered.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     

28 Sep, 2010

1 commit


27 Sep, 2010

1 commit


07 Sep, 2010

2 commits


29 Aug, 2010

1 commit

  • Replace loops calling set_bit() and clear_bit() with bitmap_set() and
    bitmap_clear().

    Unlike loops calling set_bit() and clear_bit(), bitmap_set() and
    bitmap_clear() are not atomic. But this is ok.
    Because the bitmap operations are protected by bitmap->lock
    except for initialization of the bitmap in mlx4_bitmap_init().

    Signed-off-by: Akinobu Mita
    Cc: Roland Dreier
    Cc: netdev@vger.kernel.org
    Cc: "David S. Miller"
    Signed-off-by: David S. Miller

    Akinobu Mita
     

25 Aug, 2010

15 commits


23 Aug, 2010

1 commit


18 Aug, 2010

1 commit

  • These changes may be slightly safer in some instances.

    There are other kzalloc calls with a multiply, but those
    calls are typically "small fixed #" * sizeof(some pointer)"
    and those are not converted.

    Signed-off-by: Joe Perches
    Acked-by: Gertjan van Wingerde
    Acked-by: Luciano Coelho
    Signed-off-by: David S. Miller

    Joe Perches
     

16 Jul, 2010

1 commit

  • Remove near duplication of format string constants by using the newly
    introduced vsprintf extention %pV to reduce text by 20k or so.

    $ size drivers/net/mlx4/built-in.o*
    text data bss dec hex filename
    161367 1866 48784 212017 33c31 drivers/net/mlx4/built-in.o
    142621 1866 46248 190735 2e90f drivers/net/mlx4/built-in.o.new

    Use printk_once as appropriate.
    Convert printks to pr_, some bare printks now use pr_cont.
    Remove now unused #define PFX.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

29 Jun, 2010

1 commit

  • This patch adds dynamic LRO diable support for mlx4 net driver.
    It also fixes a bug of mlx4, which checks NETIF_F_LRO flag in rx
    path without rtnl lock.

    (I don't have mlx4 card, so only did compiling test. Anyone who wants
    to test this is more than welcome.)

    This is based on Neil's initial work too, and heavily modified based
    on Stanislaw's suggestions.

    Signed-off-by: WANG Cong
    Signed-off-by: Neil Horman
    Acked-by: Neil Horman
    Reviewed-by: Stanislaw Gruszka
    Cc: Ben Hutchings
    Signed-off-by: David S. Miller

    Amerigo Wang
     

03 Jun, 2010

1 commit


31 May, 2010

1 commit

  • Today, there are no means to know which port of a hardware device a netdev
    interface uses. struct net_device conatins a field, dev_id, that can be used
    for that. Use this field to save the port number in ConnectX that is being used
    by the net device; port numbers are zero based.

    Signed-off-by: Eli Cohen
    Signed-off-by: David S. Miller

    Eli Cohen
     

26 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    RDMA/nes: Fix incorrect unlock in nes_process_mac_intr()
    RDMA/nes: Async event for closed QP causes crash
    RDMA/nes: Have ethtool read hardware registers for rx/tx stats
    RDMA/cxgb4: Only insert sq qid in lookup table
    RDMA/cxgb4: Support IB_WR_READ_WITH_INV opcode
    RDMA/cxgb4: Set fence flag for inv-local-stag work requests
    RDMA/cxgb4: Update some HW limits
    RDMA/cxgb4: Don't limit fastreg page list depth
    RDMA/cxgb4: Return proper errors in fastreg mr/pbl allocation
    RDMA/cxgb4: Fix overflow bug in CQ arm
    RDMA/cxgb4: Optimize CQ overflow detection
    RDMA/cxgb4: CQ size must be IQ size - 2
    RDMA/cxgb4: Register RDMA provider based on LLD state_change events
    RDMA/cxgb4: Detach from the LLD after unregistering RDMA device
    IB/ipath: Remove support for QLogic PCIe QLE devices
    IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters
    IB/mad: Make needlessly global mad_sendq_size/mad_recvq_size static
    IB/core: Allow device-specific per-port sysfs files
    mlx4_core: Clean up mlx4_alloc_icm() a bit
    mlx4_core: Fix possible chunk sg list overflow in mlx4_alloc_icm()

    Linus Torvalds