for (nreq = 0; wr; wr = wr->next) {
                ind = srq->first_free;
 
-               if (ind < 0) {
+               if (unlikely(ind < 0)) {
                        mthca_err(dev, "SRQ %06x full\n", srq->srqn);
                        err = -ENOMEM;
                        *bad_wr = wr;
                wqe       = get_wqe(srq, ind);
                next_ind  = *wqe_to_link(wqe);
 
-               if (next_ind < 0) {
+               if (unlikely(next_ind < 0)) {
                        mthca_err(dev, "SRQ %06x full\n", srq->srqn);
                        err = -ENOMEM;
                        *bad_wr = wr;
        for (nreq = 0; wr; ++nreq, wr = wr->next) {
                ind = srq->first_free;
 
-               if (ind < 0) {
+               if (unlikely(ind < 0)) {
                        mthca_err(dev, "SRQ %06x full\n", srq->srqn);
                        err = -ENOMEM;
                        *bad_wr = wr;
                wqe       = get_wqe(srq, ind);
                next_ind  = *wqe_to_link(wqe);
 
-               if (next_ind < 0) {
+               if (unlikely(next_ind < 0)) {
                        mthca_err(dev, "SRQ %06x full\n", srq->srqn);
                        err = -ENOMEM;
                        *bad_wr = wr;