From: Steve Wise <[EMAIL PROTECTED]>

Change cxio semaphore to mutex.

Signed-off-by: Steve Wise <[EMAIL PROTECTED]>
---

 drivers/infiniband/hw/cxgb3/cxio_hal.c |   10 +++++-----
 drivers/infiniband/hw/cxgb3/cxio_hal.h |    4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.c 
b/drivers/infiniband/hw/cxgb3/cxio_hal.c
index 19553b3..de3cb15 100644
--- a/drivers/infiniband/hw/cxgb3/cxio_hal.c
+++ b/drivers/infiniband/hw/cxgb3/cxio_hal.c
@@ -30,9 +30,9 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#include <asm/semaphore.h>
 #include <asm/delay.h>
 
+#include <linux/mutex.h>
 #include <linux/netdevice.h>
 #include <linux/sched.h>
 #include <linux/spinlock.h>
@@ -527,7 +527,7 @@ static int cxio_hal_init_ctrl_qp(struct 
        memset(rdev_p->ctrl_qp.workq, 0,
               (1 << T3_CTRL_QP_SIZE_LOG2) * sizeof(union t3_wr));
 
-       init_MUTEX(&rdev_p->ctrl_qp.sem);
+       mutex_init(&rdev_p->ctrl_qp.lock);
        init_waitqueue_head(&rdev_p->ctrl_qp.waitq);
 
        /* update HW Ctrl QP context */
@@ -570,7 +570,7 @@ static int cxio_hal_destroy_ctrl_qp(stru
 
 /* write len bytes of data into addr (32B aligned address)
  * If data is NULL, clear len byte of memory to zero.
- * caller aquires the sem before the call
+ * caller aquires the ctrl_qp lock before the call
  */
 static int cxio_hal_ctrl_qp_write_mem(struct cxio_rdev *rdev_p, u32 addr,
                                      u32 len, void *data, int completion)
@@ -705,7 +705,7 @@ static int __cxio_tpt_op(struct cxio_rde
                }
        }
 
-       down_interruptible(&rdev_p->ctrl_qp.sem);
+       mutex_lock(&rdev_p->ctrl_qp.lock);
 
        /* write PBL first if any - update pbl only if pbl list exist */
        if (pbl) {
@@ -752,7 +752,7 @@ static int __cxio_tpt_op(struct cxio_rde
                cxio_hal_put_stag(rdev_p->rscp, stag_idx);
 ret:
        wptr = rdev_p->ctrl_qp.wptr;
-       up(&rdev_p->ctrl_qp.sem);
+       mutex_unlock(&rdev_p->ctrl_qp.lock);
        if (!err)
                if (wait_event_interruptible(rdev_p->ctrl_qp.waitq,
                                             SEQ32_GE(rdev_p->ctrl_qp.rptr,
diff --git a/drivers/infiniband/hw/cxgb3/cxio_hal.h 
b/drivers/infiniband/hw/cxgb3/cxio_hal.h
index 8fb2999..1b97e80 100644
--- a/drivers/infiniband/hw/cxgb3/cxio_hal.h
+++ b/drivers/infiniband/hw/cxgb3/cxio_hal.h
@@ -62,8 +62,8 @@ #define T3_MAX_DEV_NAME_LEN 32
 struct cxio_hal_ctrl_qp {
        u32 wptr;
        u32 rptr;
-       struct semaphore sem;   /* for the wtpr, can sleep */
-       wait_queue_head_t waitq;        /* wait for RspQ/CQE msg */
+       struct mutex lock;      /* for the wtpr, can sleep */
+       wait_queue_head_t waitq;/* wait for RspQ/CQE msg */
        union t3_wr *workq;     /* the work request queue */
        dma_addr_t dma_addr;    /* pci bus address of the workq */
        DECLARE_PCI_UNMAP_ADDR(mapping)


_______________________________________________
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to