diff options
| author | Paul Mackerras <paulus@samba.org> | 2006-02-07 10:43:36 +1100 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2006-02-07 10:43:36 +1100 |
| commit | 6cb6524d90b6e5497e79a1474bdb2f26755d1c02 (patch) | |
| tree | fd475ac8f57a6bd39c976056324d1bc79d11b4c9 /drivers/infiniband/hw/mthca/mthca_cmd.c | |
| parent | 837e9594fc3cb9a06bddd7ecf66151334a2e13d2 (diff) | |
| parent | 410c05427a69f53851637ccb85c2212131409fbd (diff) | |
Merge ../linux-2.6
Diffstat (limited to 'drivers/infiniband/hw/mthca/mthca_cmd.c')
| -rw-r--r-- | drivers/infiniband/hw/mthca/mthca_cmd.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_cmd.c b/drivers/infiniband/hw/mthca/mthca_cmd.c index be1791be627b..f9b9b93dc501 100644 --- a/drivers/infiniband/hw/mthca/mthca_cmd.c +++ b/drivers/infiniband/hw/mthca/mthca_cmd.c @@ -199,8 +199,7 @@ static int mthca_cmd_post(struct mthca_dev *dev, { int err = 0; - if (down_interruptible(&dev->cmd.hcr_sem)) - return -EINTR; + mutex_lock(&dev->cmd.hcr_mutex); if (event) { unsigned long end = jiffies + GO_BIT_TIMEOUT; @@ -238,7 +237,7 @@ static int mthca_cmd_post(struct mthca_dev *dev, op), dev->hcr + 6 * 4); out: - up(&dev->cmd.hcr_sem); + mutex_unlock(&dev->cmd.hcr_mutex); return err; } @@ -255,8 +254,7 @@ static int mthca_cmd_poll(struct mthca_dev *dev, int err = 0; unsigned long end; - if (down_interruptible(&dev->cmd.poll_sem)) - return -EINTR; + down(&dev->cmd.poll_sem); err = mthca_cmd_post(dev, in_param, out_param ? *out_param : 0, @@ -333,8 +331,7 @@ static int mthca_cmd_wait(struct mthca_dev *dev, int err = 0; struct mthca_cmd_context *context; - if (down_interruptible(&dev->cmd.event_sem)) - return -EINTR; + down(&dev->cmd.event_sem); spin_lock(&dev->cmd.context_lock); BUG_ON(dev->cmd.free_head < 0); @@ -438,7 +435,7 @@ static int mthca_cmd_imm(struct mthca_dev *dev, int mthca_cmd_init(struct mthca_dev *dev) { - sema_init(&dev->cmd.hcr_sem, 1); + mutex_init(&dev->cmd.hcr_mutex); sema_init(&dev->cmd.poll_sem, 1); dev->cmd.use_events = 0; |
