Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:18:21 +0000 (12:18 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:18:21 +0000 (12:18 -0700)
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
  IPoIB: Convert to NAPI
  IB: Return "maybe missed event" hint from ib_req_notify_cq()
  IB: Add CQ comp_vector support
  IB/ipath: Fix a race condition when generating ACKs
  IB/ipath: Fix two more spin lock problems
  IB/fmr_pool: Add prefix to all printks
  IB/srp: Set proc_name
  IB/srp: Add orig_dgid sysfs attribute to scsi_host
  IPoIB/cm: Don't crash if remote side uses one QP for both directions
  RDMA/cxgb3: Support for new abort logic
  RDMA/cxgb3: Initialize cpu_idx field in cpl_close_listserv_req message
  RDMA/cxgb3: Fail qp creation if the requested max_inline is too large
  RDMA/cxgb3: Fix TERM codes
  IPoIB/cm: Fix error handling in ipoib_cm_dev_open()
  IB/ipath: Don't corrupt pending mmap list when unmapped objects are freed
  IB/mthca: Work around kernel QP starvation
  IB/ipath: Don't put QP in timeout queue if waiting to send
  IB/ipath: Don't call spin_lock_irq() from interrupt context

1  2 
drivers/infiniband/hw/ehca/ehca_main.c
drivers/infiniband/ulp/ipoib/ipoib.h

index 4700085ba834a70f2000f316305831b267db18b0,77bb36bba0d8417c06c9fd2cf3fb569823fd5bed..2d370543e96d1e1e5a1ba7840b8598efc747df97
@@@ -313,6 -313,7 +313,7 @@@ int ehca_init_device(struct ehca_shca *
  
        shca->ib_device.node_type           = RDMA_NODE_IB_CA;
        shca->ib_device.phys_port_cnt       = shca->num_ports;
+       shca->ib_device.num_comp_vectors    = 1;
        shca->ib_device.dma_device          = &shca->ibmebus_dev->ofdev.dev;
        shca->ib_device.query_device        = ehca_query_device;
        shca->ib_device.query_port          = ehca_query_port;
@@@ -375,7 -376,7 +376,7 @@@ static int ehca_create_aqp1(struct ehca
                return -EPERM;
        }
  
-       ibcq = ib_create_cq(&shca->ib_device, NULL, NULL, (void*)(-1), 10);
+       ibcq = ib_create_cq(&shca->ib_device, NULL, NULL, (void*)(-1), 10, 0);
        if (IS_ERR(ibcq)) {
                ehca_err(&shca->ib_device, "Cannot create AQP1 CQ.");
                return PTR_ERR(ibcq);
@@@ -565,11 -566,11 +566,11 @@@ static int __devinit ehca_probe(struct 
                                const struct of_device_id *id)
  {
        struct ehca_shca *shca;
 -      u64 *handle;
 +      const u64 *handle;
        struct ib_pd *ibpd;
        int ret;
  
 -      handle = (u64 *)get_property(dev->ofdev.node, "ibm,hca-handle", NULL);
 +      handle = get_property(dev->ofdev.node, "ibm,hca-handle", NULL);
        if (!handle) {
                ehca_gen_err("Cannot get eHCA handle for adapter: %s.",
                             dev->ofdev.node->full_name);
index d8f6bb4f53fc0055328b319f620bc5a9314cc1ab,15867af33c440e4abd645da69268780c6a980009..87310eeb6df07eb90c6e2e61e2f4515a85c4f22b
@@@ -41,6 -41,7 +41,6 @@@
  #include <linux/skbuff.h>
  #include <linux/netdevice.h>
  #include <linux/workqueue.h>
 -#include <linux/pci.h>
  #include <linux/kref.h>
  #include <linux/if_infiniband.h>
  #include <linux/mutex.h>
@@@ -310,6 -311,7 +310,7 @@@ extern struct workqueue_struct *ipoib_w
  
  /* functions */
  
+ int ipoib_poll(struct net_device *dev, int *budget);
  void ipoib_ib_completion(struct ib_cq *cq, void *dev_ptr);
  
  struct ipoib_ah *ipoib_create_ah(struct net_device *dev,