1. 30 4月, 2008 1 次提交
  2. 29 4月, 2008 1 次提交
    • A
      IB: expand ib_umem_get() prototype · cb9fbc5c
      Arthur Kepner 提交于
      Add a new parameter, dmasync, to the ib_umem_get() prototype.  Use dmasync = 1
      when mapping user-allocated CQs with ib_umem_get().
      Signed-off-by: NArthur Kepner <akepner@sgi.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Jes Sorensen <jes@sgi.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cb9fbc5c
  3. 24 4月, 2008 4 次提交
    • R
      RDMA/nes: Remove volatile qualifier from struct nes_hw_cq.cq_vbase · 31d1e340
      Roland Dreier 提交于
      Remove the volatile qualifier from the cq_vbase member of struct
      nes_hw_cq, and add an rmb() in the one place where it looks like
      access order might make a difference.  As usual, removing a volatile
      qualifier in a declaration is actually a bug fix, since a volatile
      qualifier is not sufficient to make sure that aggressively
      out-of-order CPUs don't reorder things and cause incorrect results.
      
      For example, a CPU might speculatively execute reads of other cqe
      fields before the NIC hardware has written those fields and before it
      has set the NES_CQE_VALID bit (even though those reads come after the
      test of the NES_CQE_VALID bit in program order), but then when the CPU
      actually executes the conditional test of the NES_CQE_VALID, the bit
      has been set, and the CPU will proceed with the results of the earlier
      speculative execution and end up using bogus data.
      
      This also gets rid of the warning:
      
          drivers/infiniband/hw/nes/nes_verbs.c: In function 'nes_destroy_cq':
          drivers/infiniband/hw/nes/nes_verbs.c:1978: warning: passing argument 3 of 'pci_free_consistent' discards qualifiers from pointer target type
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      31d1e340
    • C
      RDMA/nes: Fix adapter reset after PXE boot · bc5698f3
      Chien Tung 提交于
      After PXE boot, the iw_nes driver does a full reset to ensure the card
      is in a clean state.  However, it doesn't wait for firmware to
      complete its work before issuing a port reset to enable the ports,
      which leads to problems bringing up the ports.
      
      The solution is to wait for firmware to complete its work before
      proceeding with port reset.
      
      This bug was flagged by Roland Dreier <rolandd@cisco.com>.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NChien Tung <ctung@neteffect.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bc5698f3
    • R
      RDMA/nes: Print IPv4 addresses in a readable format · e4477031
      Roland Dreier 提交于
      Use NIPQUAD_FMT instead of printing raw 32-bit hex quantities in
      debugging output.
      Acked-by: NGlenn Streiff <gstreiff@neteffect.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e4477031
    • R
      RDMA/nes: Use print_mac() to format ethernet addresses for printing · 2bd01c5d
      Roland Dreier 提交于
      Removing open-coded MAC formats shrinks the source and the generated
      code too, eg on x86-64:
      
      add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-103 (-103)
      function                                     old     new   delta
      make_cm_node                                 932     912     -20
      nes_netdev_set_mac_address                   427     406     -21
      nes_netdev_set_multicast_list               1148    1124     -24
      nes_probe                                   2349    2311     -38
      Acked-by: NGlenn Streiff <gstreiff@neteffect.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      2bd01c5d
  4. 22 4月, 2008 1 次提交
  5. 20 4月, 2008 1 次提交
  6. 19 4月, 2008 1 次提交
  7. 17 4月, 2008 12 次提交
  8. 22 3月, 2008 1 次提交
  9. 27 2月, 2008 6 次提交
  10. 26 2月, 2008 2 次提交
  11. 19 2月, 2008 1 次提交
    • R
      RDMA/nes: Fix possible array overrun · 51af33e8
      Roland Dreier 提交于
      In nes_create_qp(), the test
      
      	if (nesqp->mmap_sq_db_index > NES_MAX_USER_WQ_REGIONS) {
      
      is used to error out if the db_index is too large; however, if the
      test doesn't trigger, then the index is used as
      
      	nes_ucontext->mmap_nesqp[nesqp->mmap_sq_db_index] = nesqp;
      
      and mmap_nesqp is declared as
      
      	struct nes_qp      *mmap_nesqp[NES_MAX_USER_WQ_REGIONS];
      
      which leads to an array overrun if the index is exactly equal to
      NES_MAX_USER_WQ_REGIONS.  Fix this by bailing out if the index is
      greater than or equal to NES_MAX_USER_WQ_REGIONS.
      
      This was spotted by the Coverity checker (CID 2162).
      Acked-by: NGlenn Streiff <gstreiff@neteffect.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      51af33e8
  12. 17 2月, 2008 1 次提交
  13. 16 2月, 2008 1 次提交
  14. 05 2月, 2008 1 次提交