Loading drivers/infiniband/core/cm.c +6 −4 Original line number Original line Diff line number Diff line Loading @@ -2409,10 +2409,12 @@ int ib_send_cm_mra(struct ib_cm_id *cm_id, msg_response = CM_MSG_RESPONSE_REP; msg_response = CM_MSG_RESPONSE_REP; break; break; case IB_CM_ESTABLISHED: case IB_CM_ESTABLISHED: if (cm_id->lap_state == IB_CM_LAP_RCVD) { cm_state = cm_id->state; cm_state = cm_id->state; lap_state = IB_CM_MRA_LAP_SENT; lap_state = IB_CM_MRA_LAP_SENT; msg_response = CM_MSG_RESPONSE_OTHER; msg_response = CM_MSG_RESPONSE_OTHER; break; break; } default: default: ret = -EINVAL; ret = -EINVAL; goto error1; goto error1; Loading drivers/infiniband/core/user_mad.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -1085,7 +1085,6 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, static void ib_umad_kill_port(struct ib_umad_port *port) static void ib_umad_kill_port(struct ib_umad_port *port) { { struct ib_umad_file *file; struct ib_umad_file *file; int already_dead; int id; int id; dev_set_drvdata(port->dev, NULL); dev_set_drvdata(port->dev, NULL); Loading @@ -1103,7 +1102,6 @@ static void ib_umad_kill_port(struct ib_umad_port *port) list_for_each_entry(file, &port->file_list, port_list) { list_for_each_entry(file, &port->file_list, port_list) { mutex_lock(&file->mutex); mutex_lock(&file->mutex); already_dead = file->agents_dead; file->agents_dead = 1; file->agents_dead = 1; mutex_unlock(&file->mutex); mutex_unlock(&file->mutex); Loading drivers/infiniband/core/verbs.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -310,8 +310,8 @@ EXPORT_SYMBOL(ib_create_qp); static const struct { static const struct { int valid; int valid; enum ib_qp_attr_mask req_param[IB_QPT_RAW_ETY + 1]; enum ib_qp_attr_mask req_param[IB_QPT_RAW_ETHERTYPE + 1]; enum ib_qp_attr_mask opt_param[IB_QPT_RAW_ETY + 1]; enum ib_qp_attr_mask opt_param[IB_QPT_RAW_ETHERTYPE + 1]; } qp_state_table[IB_QPS_ERR + 1][IB_QPS_ERR + 1] = { } qp_state_table[IB_QPS_ERR + 1][IB_QPS_ERR + 1] = { [IB_QPS_RESET] = { [IB_QPS_RESET] = { [IB_QPS_RESET] = { .valid = 1 }, [IB_QPS_RESET] = { .valid = 1 }, Loading drivers/infiniband/hw/cxgb4/cm.c +50 −41 Original line number Original line Diff line number Diff line Loading @@ -61,6 +61,10 @@ static char *states[] = { NULL, NULL, }; }; static int dack_mode; module_param(dack_mode, int, 0644); MODULE_PARM_DESC(dack_mode, "Delayed ack mode (default=0)"); int c4iw_max_read_depth = 8; int c4iw_max_read_depth = 8; module_param(c4iw_max_read_depth, int, 0644); module_param(c4iw_max_read_depth, int, 0644); MODULE_PARM_DESC(c4iw_max_read_depth, "Per-connection max ORD/IRD (default=8)"); MODULE_PARM_DESC(c4iw_max_read_depth, "Per-connection max ORD/IRD (default=8)"); Loading Loading @@ -469,11 +473,12 @@ static int send_connect(struct c4iw_ep *ep) __func__); __func__); return -ENOMEM; return -ENOMEM; } } set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->txq_idx); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); wscale = compute_wscale(rcv_win); wscale = compute_wscale(rcv_win); opt0 = KEEP_ALIVE(1) | opt0 = KEEP_ALIVE(1) | DELACK(1) | WND_SCALE(wscale) | WND_SCALE(wscale) | MSS_IDX(mtu_idx) | MSS_IDX(mtu_idx) | L2T_IDX(ep->l2t->idx) | L2T_IDX(ep->l2t->idx) | Loading Loading @@ -780,11 +785,11 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status) event.private_data_len = ep->plen; event.private_data_len = ep->plen; event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); } } if (ep->com.cm_id) { PDBG("%s ep %p tid %u status %d\n", __func__, ep, PDBG("%s ep %p tid %u status %d\n", __func__, ep, ep->hwtid, status); ep->hwtid, status); ep->com.cm_id->event_handler(ep->com.cm_id, &event); ep->com.cm_id->event_handler(ep->com.cm_id, &event); } if (status < 0) { if (status < 0) { ep->com.cm_id->rem_ref(ep->com.cm_id); ep->com.cm_id->rem_ref(ep->com.cm_id); ep->com.cm_id = NULL; ep->com.cm_id = NULL; Loading Loading @@ -845,8 +850,10 @@ static int update_rx_credits(struct c4iw_ep *ep, u32 credits) INIT_TP_WR(req, ep->hwtid); INIT_TP_WR(req, ep->hwtid); OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_RX_DATA_ACK, OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_RX_DATA_ACK, ep->hwtid)); ep->hwtid)); req->credit_dack = cpu_to_be32(credits); req->credit_dack = cpu_to_be32(credits | RX_FORCE_ACK(1) | set_wr_txq(skb, CPL_PRIORITY_ACK, ep->txq_idx); F_RX_DACK_CHANGE | V_RX_DACK_MODE(dack_mode)); set_wr_txq(skb, CPL_PRIORITY_ACK, ep->ctrlq_idx); c4iw_ofld_send(&ep->com.dev->rdev, skb); c4iw_ofld_send(&ep->com.dev->rdev, skb); return credits; return credits; } } Loading Loading @@ -1264,6 +1271,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb, cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); wscale = compute_wscale(rcv_win); wscale = compute_wscale(rcv_win); opt0 = KEEP_ALIVE(1) | opt0 = KEEP_ALIVE(1) | DELACK(1) | WND_SCALE(wscale) | WND_SCALE(wscale) | MSS_IDX(mtu_idx) | MSS_IDX(mtu_idx) | L2T_IDX(ep->l2t->idx) | L2T_IDX(ep->l2t->idx) | Loading @@ -1287,7 +1295,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb, ep->hwtid)); ep->hwtid)); rpl->opt0 = cpu_to_be64(opt0); rpl->opt0 = cpu_to_be64(opt0); rpl->opt2 = cpu_to_be32(opt2); rpl->opt2 = cpu_to_be32(opt2); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->txq_idx); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx); c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); return; return; Loading Loading @@ -1344,7 +1352,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) u16 rss_qid; u16 rss_qid; u32 mtu; u32 mtu; int step; int step; int txq_idx; int txq_idx, ctrlq_idx; parent_ep = lookup_stid(t, stid); parent_ep = lookup_stid(t, stid); PDBG("%s parent ep %p tid %u\n", __func__, parent_ep, hwtid); PDBG("%s parent ep %p tid %u\n", __func__, parent_ep, hwtid); Loading Loading @@ -1376,6 +1384,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) smac_idx = (cxgb4_port_viid(pdev) & 0x7F) << 1; smac_idx = (cxgb4_port_viid(pdev) & 0x7F) << 1; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; txq_idx = cxgb4_port_idx(pdev) * step; txq_idx = cxgb4_port_idx(pdev) * step; ctrlq_idx = cxgb4_port_idx(pdev); step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; rss_qid = dev->rdev.lldi.rxq_ids[cxgb4_port_idx(pdev) * step]; rss_qid = dev->rdev.lldi.rxq_ids[cxgb4_port_idx(pdev) * step]; dev_put(pdev); dev_put(pdev); Loading @@ -1387,6 +1396,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) smac_idx = (cxgb4_port_viid(dst->neighbour->dev) & 0x7F) << 1; smac_idx = (cxgb4_port_viid(dst->neighbour->dev) & 0x7F) << 1; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; txq_idx = cxgb4_port_idx(dst->neighbour->dev) * step; txq_idx = cxgb4_port_idx(dst->neighbour->dev) * step; ctrlq_idx = cxgb4_port_idx(dst->neighbour->dev); step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; rss_qid = dev->rdev.lldi.rxq_ids[ rss_qid = dev->rdev.lldi.rxq_ids[ cxgb4_port_idx(dst->neighbour->dev) * step]; cxgb4_port_idx(dst->neighbour->dev) * step]; Loading Loading @@ -1426,6 +1436,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) child_ep->rss_qid = rss_qid; child_ep->rss_qid = rss_qid; child_ep->mtu = mtu; child_ep->mtu = mtu; child_ep->txq_idx = txq_idx; child_ep->txq_idx = txq_idx; child_ep->ctrlq_idx = ctrlq_idx; PDBG("%s tx_chan %u smac_idx %u rss_qid %u\n", __func__, PDBG("%s tx_chan %u smac_idx %u rss_qid %u\n", __func__, tx_chan, smac_idx, rss_qid); tx_chan, smac_idx, rss_qid); Loading Loading @@ -1473,8 +1484,6 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) int closing = 0; int closing = 0; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(hdr); unsigned int tid = GET_TID(hdr); int start_timer = 0; int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); PDBG("%s ep %p tid %u\n", __func__, ep, ep->hwtid); PDBG("%s ep %p tid %u\n", __func__, ep, ep->hwtid); Loading Loading @@ -1511,7 +1520,7 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) wake_up(&ep->com.waitq); wake_up(&ep->com.waitq); break; break; case FPDU_MODE: case FPDU_MODE: start_timer = 1; start_ep_timer(ep); __state_set(&ep->com, CLOSING); __state_set(&ep->com, CLOSING); closing = 1; closing = 1; peer_close_upcall(ep); peer_close_upcall(ep); Loading @@ -1524,7 +1533,7 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) disconnect = 0; disconnect = 0; break; break; case MORIBUND: case MORIBUND: stop_timer = 1; stop_ep_timer(ep); if (ep->com.cm_id && ep->com.qp) { if (ep->com.cm_id && ep->com.qp) { attrs.next_state = C4IW_QP_STATE_IDLE; attrs.next_state = C4IW_QP_STATE_IDLE; c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, Loading @@ -1547,10 +1556,6 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, &attrs, 1); C4IW_QP_ATTR_NEXT_STATE, &attrs, 1); } } if (start_timer) start_ep_timer(ep); if (stop_timer) stop_ep_timer(ep); if (disconnect) if (disconnect) c4iw_ep_disconnect(ep, 0, GFP_KERNEL); c4iw_ep_disconnect(ep, 0, GFP_KERNEL); if (release) if (release) Loading Loading @@ -1579,7 +1584,6 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) unsigned long flags; unsigned long flags; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(req); unsigned int tid = GET_TID(req); int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); if (is_neg_adv_abort(req->status)) { if (is_neg_adv_abort(req->status)) { Loading @@ -1594,10 +1598,10 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) case CONNECTING: case CONNECTING: break; break; case MPA_REQ_WAIT: case MPA_REQ_WAIT: stop_timer = 1; stop_ep_timer(ep); break; break; case MPA_REQ_SENT: case MPA_REQ_SENT: stop_timer = 1; stop_ep_timer(ep); connect_reply_upcall(ep, -ECONNRESET); connect_reply_upcall(ep, -ECONNRESET); break; break; case MPA_REP_SENT: case MPA_REP_SENT: Loading @@ -1621,7 +1625,7 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) break; break; case MORIBUND: case MORIBUND: case CLOSING: case CLOSING: stop_timer = 1; stop_ep_timer(ep); /*FALLTHROUGH*/ /*FALLTHROUGH*/ case FPDU_MODE: case FPDU_MODE: if (ep->com.cm_id && ep->com.qp) { if (ep->com.cm_id && ep->com.qp) { Loading Loading @@ -1667,8 +1671,6 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) rpl->cmd = CPL_ABORT_NO_RST; rpl->cmd = CPL_ABORT_NO_RST; c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); out: out: if (stop_timer) stop_ep_timer(ep); if (release) if (release) release_ep_resources(ep); release_ep_resources(ep); return 0; return 0; Loading @@ -1683,7 +1685,6 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) int release = 0; int release = 0; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(rpl); unsigned int tid = GET_TID(rpl); int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); Loading @@ -1697,7 +1698,7 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) __state_set(&ep->com, MORIBUND); __state_set(&ep->com, MORIBUND); break; break; case MORIBUND: case MORIBUND: stop_timer = 1; stop_ep_timer(ep); if ((ep->com.cm_id) && (ep->com.qp)) { if ((ep->com.cm_id) && (ep->com.qp)) { attrs.next_state = C4IW_QP_STATE_IDLE; attrs.next_state = C4IW_QP_STATE_IDLE; c4iw_modify_qp(ep->com.qp->rhp, c4iw_modify_qp(ep->com.qp->rhp, Loading @@ -1717,8 +1718,6 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) break; break; } } spin_unlock_irqrestore(&ep->com.lock, flags); spin_unlock_irqrestore(&ep->com.lock, flags); if (stop_timer) stop_ep_timer(ep); if (release) if (release) release_ep_resources(ep); release_ep_resources(ep); return 0; return 0; Loading Loading @@ -1957,6 +1956,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) ep->txq_idx = cxgb4_port_idx(pdev) * step; ep->txq_idx = cxgb4_port_idx(pdev) * step; step = ep->com.dev->rdev.lldi.nrxq / step = ep->com.dev->rdev.lldi.nrxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->ctrlq_idx = cxgb4_port_idx(pdev); ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ cxgb4_port_idx(pdev) * step]; cxgb4_port_idx(pdev) * step]; dev_put(pdev); dev_put(pdev); Loading @@ -1971,6 +1971,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) step = ep->com.dev->rdev.lldi.ntxq / step = ep->com.dev->rdev.lldi.ntxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->txq_idx = cxgb4_port_idx(ep->dst->neighbour->dev) * step; ep->txq_idx = cxgb4_port_idx(ep->dst->neighbour->dev) * step; ep->ctrlq_idx = cxgb4_port_idx(ep->dst->neighbour->dev); step = ep->com.dev->rdev.lldi.nrxq / step = ep->com.dev->rdev.lldi.nrxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ Loading Loading @@ -2049,8 +2050,15 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog) goto fail3; goto fail3; /* wait for pass_open_rpl */ /* wait for pass_open_rpl */ wait_event(ep->com.waitq, ep->com.rpl_done); wait_event_timeout(ep->com.waitq, ep->com.rpl_done, C4IW_WR_TO); if (ep->com.rpl_done) err = ep->com.rpl_err; err = ep->com.rpl_err; else { printk(KERN_ERR MOD "Device %s not responding!\n", pci_name(ep->com.dev->rdev.lldi.pdev)); ep->com.dev->rdev.flags = T4_FATAL_ERROR; err = -EIO; } if (!err) { if (!err) { cm_id->provider_data = ep; cm_id->provider_data = ep; goto out; goto out; Loading Loading @@ -2079,10 +2087,17 @@ int c4iw_destroy_listen(struct iw_cm_id *cm_id) err = listen_stop(ep); err = listen_stop(ep); if (err) if (err) goto done; goto done; wait_event(ep->com.waitq, ep->com.rpl_done); wait_event_timeout(ep->com.waitq, ep->com.rpl_done, C4IW_WR_TO); if (ep->com.rpl_done) err = ep->com.rpl_err; else { printk(KERN_ERR MOD "Device %s not responding!\n", pci_name(ep->com.dev->rdev.lldi.pdev)); ep->com.dev->rdev.flags = T4_FATAL_ERROR; err = -EIO; } cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, PF_INET); cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, PF_INET); done: done: err = ep->com.rpl_err; cm_id->rem_ref(cm_id); cm_id->rem_ref(cm_id); c4iw_put_ep(&ep->com); c4iw_put_ep(&ep->com); return err; return err; Loading @@ -2095,8 +2110,6 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) int close = 0; int close = 0; int fatal = 0; int fatal = 0; struct c4iw_rdev *rdev; struct c4iw_rdev *rdev; int start_timer = 0; int stop_timer = 0; spin_lock_irqsave(&ep->com.lock, flags); spin_lock_irqsave(&ep->com.lock, flags); Loading @@ -2120,7 +2133,7 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) ep->com.state = ABORTING; ep->com.state = ABORTING; else { else { ep->com.state = CLOSING; ep->com.state = CLOSING; start_timer = 1; start_ep_timer(ep); } } set_bit(CLOSE_SENT, &ep->com.flags); set_bit(CLOSE_SENT, &ep->com.flags); break; break; Loading @@ -2128,7 +2141,7 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { close = 1; close = 1; if (abrupt) { if (abrupt) { stop_timer = 1; stop_ep_timer(ep); ep->com.state = ABORTING; ep->com.state = ABORTING; } else } else ep->com.state = MORIBUND; ep->com.state = MORIBUND; Loading @@ -2146,10 +2159,6 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) } } spin_unlock_irqrestore(&ep->com.lock, flags); spin_unlock_irqrestore(&ep->com.lock, flags); if (start_timer) start_ep_timer(ep); if (stop_timer) stop_ep_timer(ep); if (close) { if (close) { if (abrupt) if (abrupt) ret = abort_connection(ep, NULL, gfp); ret = abort_connection(ep, NULL, gfp); Loading Loading @@ -2244,7 +2253,7 @@ static void process_work(struct work_struct *work) { { struct sk_buff *skb = NULL; struct sk_buff *skb = NULL; struct c4iw_dev *dev; struct c4iw_dev *dev; struct cpl_act_establish *rpl = cplhdr(skb); struct cpl_act_establish *rpl; unsigned int opcode; unsigned int opcode; int ret; int ret; Loading drivers/infiniband/hw/cxgb4/cq.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -43,7 +43,7 @@ static int destroy_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, int ret; int ret; wr_len = sizeof *res_wr + sizeof *res; wr_len = sizeof *res_wr + sizeof *res; skb = alloc_skb(wr_len, GFP_KERNEL | __GFP_NOFAIL); skb = alloc_skb(wr_len, GFP_KERNEL); if (!skb) if (!skb) return -ENOMEM; return -ENOMEM; set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0); set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0); Loading Loading @@ -118,7 +118,7 @@ static int create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, /* build fw_ri_res_wr */ /* build fw_ri_res_wr */ wr_len = sizeof *res_wr + sizeof *res; wr_len = sizeof *res_wr + sizeof *res; skb = alloc_skb(wr_len, GFP_KERNEL | __GFP_NOFAIL); skb = alloc_skb(wr_len, GFP_KERNEL); if (!skb) { if (!skb) { ret = -ENOMEM; ret = -ENOMEM; goto err4; goto err4; Loading Loading
drivers/infiniband/core/cm.c +6 −4 Original line number Original line Diff line number Diff line Loading @@ -2409,10 +2409,12 @@ int ib_send_cm_mra(struct ib_cm_id *cm_id, msg_response = CM_MSG_RESPONSE_REP; msg_response = CM_MSG_RESPONSE_REP; break; break; case IB_CM_ESTABLISHED: case IB_CM_ESTABLISHED: if (cm_id->lap_state == IB_CM_LAP_RCVD) { cm_state = cm_id->state; cm_state = cm_id->state; lap_state = IB_CM_MRA_LAP_SENT; lap_state = IB_CM_MRA_LAP_SENT; msg_response = CM_MSG_RESPONSE_OTHER; msg_response = CM_MSG_RESPONSE_OTHER; break; break; } default: default: ret = -EINVAL; ret = -EINVAL; goto error1; goto error1; Loading
drivers/infiniband/core/user_mad.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -1085,7 +1085,6 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, static void ib_umad_kill_port(struct ib_umad_port *port) static void ib_umad_kill_port(struct ib_umad_port *port) { { struct ib_umad_file *file; struct ib_umad_file *file; int already_dead; int id; int id; dev_set_drvdata(port->dev, NULL); dev_set_drvdata(port->dev, NULL); Loading @@ -1103,7 +1102,6 @@ static void ib_umad_kill_port(struct ib_umad_port *port) list_for_each_entry(file, &port->file_list, port_list) { list_for_each_entry(file, &port->file_list, port_list) { mutex_lock(&file->mutex); mutex_lock(&file->mutex); already_dead = file->agents_dead; file->agents_dead = 1; file->agents_dead = 1; mutex_unlock(&file->mutex); mutex_unlock(&file->mutex); Loading
drivers/infiniband/core/verbs.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -310,8 +310,8 @@ EXPORT_SYMBOL(ib_create_qp); static const struct { static const struct { int valid; int valid; enum ib_qp_attr_mask req_param[IB_QPT_RAW_ETY + 1]; enum ib_qp_attr_mask req_param[IB_QPT_RAW_ETHERTYPE + 1]; enum ib_qp_attr_mask opt_param[IB_QPT_RAW_ETY + 1]; enum ib_qp_attr_mask opt_param[IB_QPT_RAW_ETHERTYPE + 1]; } qp_state_table[IB_QPS_ERR + 1][IB_QPS_ERR + 1] = { } qp_state_table[IB_QPS_ERR + 1][IB_QPS_ERR + 1] = { [IB_QPS_RESET] = { [IB_QPS_RESET] = { [IB_QPS_RESET] = { .valid = 1 }, [IB_QPS_RESET] = { .valid = 1 }, Loading
drivers/infiniband/hw/cxgb4/cm.c +50 −41 Original line number Original line Diff line number Diff line Loading @@ -61,6 +61,10 @@ static char *states[] = { NULL, NULL, }; }; static int dack_mode; module_param(dack_mode, int, 0644); MODULE_PARM_DESC(dack_mode, "Delayed ack mode (default=0)"); int c4iw_max_read_depth = 8; int c4iw_max_read_depth = 8; module_param(c4iw_max_read_depth, int, 0644); module_param(c4iw_max_read_depth, int, 0644); MODULE_PARM_DESC(c4iw_max_read_depth, "Per-connection max ORD/IRD (default=8)"); MODULE_PARM_DESC(c4iw_max_read_depth, "Per-connection max ORD/IRD (default=8)"); Loading Loading @@ -469,11 +473,12 @@ static int send_connect(struct c4iw_ep *ep) __func__); __func__); return -ENOMEM; return -ENOMEM; } } set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->txq_idx); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); wscale = compute_wscale(rcv_win); wscale = compute_wscale(rcv_win); opt0 = KEEP_ALIVE(1) | opt0 = KEEP_ALIVE(1) | DELACK(1) | WND_SCALE(wscale) | WND_SCALE(wscale) | MSS_IDX(mtu_idx) | MSS_IDX(mtu_idx) | L2T_IDX(ep->l2t->idx) | L2T_IDX(ep->l2t->idx) | Loading Loading @@ -780,11 +785,11 @@ static void connect_reply_upcall(struct c4iw_ep *ep, int status) event.private_data_len = ep->plen; event.private_data_len = ep->plen; event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); event.private_data = ep->mpa_pkt + sizeof(struct mpa_message); } } if (ep->com.cm_id) { PDBG("%s ep %p tid %u status %d\n", __func__, ep, PDBG("%s ep %p tid %u status %d\n", __func__, ep, ep->hwtid, status); ep->hwtid, status); ep->com.cm_id->event_handler(ep->com.cm_id, &event); ep->com.cm_id->event_handler(ep->com.cm_id, &event); } if (status < 0) { if (status < 0) { ep->com.cm_id->rem_ref(ep->com.cm_id); ep->com.cm_id->rem_ref(ep->com.cm_id); ep->com.cm_id = NULL; ep->com.cm_id = NULL; Loading Loading @@ -845,8 +850,10 @@ static int update_rx_credits(struct c4iw_ep *ep, u32 credits) INIT_TP_WR(req, ep->hwtid); INIT_TP_WR(req, ep->hwtid); OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_RX_DATA_ACK, OPCODE_TID(req) = cpu_to_be32(MK_OPCODE_TID(CPL_RX_DATA_ACK, ep->hwtid)); ep->hwtid)); req->credit_dack = cpu_to_be32(credits); req->credit_dack = cpu_to_be32(credits | RX_FORCE_ACK(1) | set_wr_txq(skb, CPL_PRIORITY_ACK, ep->txq_idx); F_RX_DACK_CHANGE | V_RX_DACK_MODE(dack_mode)); set_wr_txq(skb, CPL_PRIORITY_ACK, ep->ctrlq_idx); c4iw_ofld_send(&ep->com.dev->rdev, skb); c4iw_ofld_send(&ep->com.dev->rdev, skb); return credits; return credits; } } Loading Loading @@ -1264,6 +1271,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb, cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); cxgb4_best_mtu(ep->com.dev->rdev.lldi.mtus, ep->mtu, &mtu_idx); wscale = compute_wscale(rcv_win); wscale = compute_wscale(rcv_win); opt0 = KEEP_ALIVE(1) | opt0 = KEEP_ALIVE(1) | DELACK(1) | WND_SCALE(wscale) | WND_SCALE(wscale) | MSS_IDX(mtu_idx) | MSS_IDX(mtu_idx) | L2T_IDX(ep->l2t->idx) | L2T_IDX(ep->l2t->idx) | Loading @@ -1287,7 +1295,7 @@ static void accept_cr(struct c4iw_ep *ep, __be32 peer_ip, struct sk_buff *skb, ep->hwtid)); ep->hwtid)); rpl->opt0 = cpu_to_be64(opt0); rpl->opt0 = cpu_to_be64(opt0); rpl->opt2 = cpu_to_be32(opt2); rpl->opt2 = cpu_to_be32(opt2); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->txq_idx); set_wr_txq(skb, CPL_PRIORITY_SETUP, ep->ctrlq_idx); c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); c4iw_l2t_send(&ep->com.dev->rdev, skb, ep->l2t); return; return; Loading Loading @@ -1344,7 +1352,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) u16 rss_qid; u16 rss_qid; u32 mtu; u32 mtu; int step; int step; int txq_idx; int txq_idx, ctrlq_idx; parent_ep = lookup_stid(t, stid); parent_ep = lookup_stid(t, stid); PDBG("%s parent ep %p tid %u\n", __func__, parent_ep, hwtid); PDBG("%s parent ep %p tid %u\n", __func__, parent_ep, hwtid); Loading Loading @@ -1376,6 +1384,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) smac_idx = (cxgb4_port_viid(pdev) & 0x7F) << 1; smac_idx = (cxgb4_port_viid(pdev) & 0x7F) << 1; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; txq_idx = cxgb4_port_idx(pdev) * step; txq_idx = cxgb4_port_idx(pdev) * step; ctrlq_idx = cxgb4_port_idx(pdev); step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; rss_qid = dev->rdev.lldi.rxq_ids[cxgb4_port_idx(pdev) * step]; rss_qid = dev->rdev.lldi.rxq_ids[cxgb4_port_idx(pdev) * step]; dev_put(pdev); dev_put(pdev); Loading @@ -1387,6 +1396,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) smac_idx = (cxgb4_port_viid(dst->neighbour->dev) & 0x7F) << 1; smac_idx = (cxgb4_port_viid(dst->neighbour->dev) & 0x7F) << 1; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.ntxq / dev->rdev.lldi.nchan; txq_idx = cxgb4_port_idx(dst->neighbour->dev) * step; txq_idx = cxgb4_port_idx(dst->neighbour->dev) * step; ctrlq_idx = cxgb4_port_idx(dst->neighbour->dev); step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; step = dev->rdev.lldi.nrxq / dev->rdev.lldi.nchan; rss_qid = dev->rdev.lldi.rxq_ids[ rss_qid = dev->rdev.lldi.rxq_ids[ cxgb4_port_idx(dst->neighbour->dev) * step]; cxgb4_port_idx(dst->neighbour->dev) * step]; Loading Loading @@ -1426,6 +1436,7 @@ static int pass_accept_req(struct c4iw_dev *dev, struct sk_buff *skb) child_ep->rss_qid = rss_qid; child_ep->rss_qid = rss_qid; child_ep->mtu = mtu; child_ep->mtu = mtu; child_ep->txq_idx = txq_idx; child_ep->txq_idx = txq_idx; child_ep->ctrlq_idx = ctrlq_idx; PDBG("%s tx_chan %u smac_idx %u rss_qid %u\n", __func__, PDBG("%s tx_chan %u smac_idx %u rss_qid %u\n", __func__, tx_chan, smac_idx, rss_qid); tx_chan, smac_idx, rss_qid); Loading Loading @@ -1473,8 +1484,6 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) int closing = 0; int closing = 0; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(hdr); unsigned int tid = GET_TID(hdr); int start_timer = 0; int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); PDBG("%s ep %p tid %u\n", __func__, ep, ep->hwtid); PDBG("%s ep %p tid %u\n", __func__, ep, ep->hwtid); Loading Loading @@ -1511,7 +1520,7 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) wake_up(&ep->com.waitq); wake_up(&ep->com.waitq); break; break; case FPDU_MODE: case FPDU_MODE: start_timer = 1; start_ep_timer(ep); __state_set(&ep->com, CLOSING); __state_set(&ep->com, CLOSING); closing = 1; closing = 1; peer_close_upcall(ep); peer_close_upcall(ep); Loading @@ -1524,7 +1533,7 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) disconnect = 0; disconnect = 0; break; break; case MORIBUND: case MORIBUND: stop_timer = 1; stop_ep_timer(ep); if (ep->com.cm_id && ep->com.qp) { if (ep->com.cm_id && ep->com.qp) { attrs.next_state = C4IW_QP_STATE_IDLE; attrs.next_state = C4IW_QP_STATE_IDLE; c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, Loading @@ -1547,10 +1556,6 @@ static int peer_close(struct c4iw_dev *dev, struct sk_buff *skb) c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, c4iw_modify_qp(ep->com.qp->rhp, ep->com.qp, C4IW_QP_ATTR_NEXT_STATE, &attrs, 1); C4IW_QP_ATTR_NEXT_STATE, &attrs, 1); } } if (start_timer) start_ep_timer(ep); if (stop_timer) stop_ep_timer(ep); if (disconnect) if (disconnect) c4iw_ep_disconnect(ep, 0, GFP_KERNEL); c4iw_ep_disconnect(ep, 0, GFP_KERNEL); if (release) if (release) Loading Loading @@ -1579,7 +1584,6 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) unsigned long flags; unsigned long flags; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(req); unsigned int tid = GET_TID(req); int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); if (is_neg_adv_abort(req->status)) { if (is_neg_adv_abort(req->status)) { Loading @@ -1594,10 +1598,10 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) case CONNECTING: case CONNECTING: break; break; case MPA_REQ_WAIT: case MPA_REQ_WAIT: stop_timer = 1; stop_ep_timer(ep); break; break; case MPA_REQ_SENT: case MPA_REQ_SENT: stop_timer = 1; stop_ep_timer(ep); connect_reply_upcall(ep, -ECONNRESET); connect_reply_upcall(ep, -ECONNRESET); break; break; case MPA_REP_SENT: case MPA_REP_SENT: Loading @@ -1621,7 +1625,7 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) break; break; case MORIBUND: case MORIBUND: case CLOSING: case CLOSING: stop_timer = 1; stop_ep_timer(ep); /*FALLTHROUGH*/ /*FALLTHROUGH*/ case FPDU_MODE: case FPDU_MODE: if (ep->com.cm_id && ep->com.qp) { if (ep->com.cm_id && ep->com.qp) { Loading Loading @@ -1667,8 +1671,6 @@ static int peer_abort(struct c4iw_dev *dev, struct sk_buff *skb) rpl->cmd = CPL_ABORT_NO_RST; rpl->cmd = CPL_ABORT_NO_RST; c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); c4iw_ofld_send(&ep->com.dev->rdev, rpl_skb); out: out: if (stop_timer) stop_ep_timer(ep); if (release) if (release) release_ep_resources(ep); release_ep_resources(ep); return 0; return 0; Loading @@ -1683,7 +1685,6 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) int release = 0; int release = 0; struct tid_info *t = dev->rdev.lldi.tids; struct tid_info *t = dev->rdev.lldi.tids; unsigned int tid = GET_TID(rpl); unsigned int tid = GET_TID(rpl); int stop_timer = 0; ep = lookup_tid(t, tid); ep = lookup_tid(t, tid); Loading @@ -1697,7 +1698,7 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) __state_set(&ep->com, MORIBUND); __state_set(&ep->com, MORIBUND); break; break; case MORIBUND: case MORIBUND: stop_timer = 1; stop_ep_timer(ep); if ((ep->com.cm_id) && (ep->com.qp)) { if ((ep->com.cm_id) && (ep->com.qp)) { attrs.next_state = C4IW_QP_STATE_IDLE; attrs.next_state = C4IW_QP_STATE_IDLE; c4iw_modify_qp(ep->com.qp->rhp, c4iw_modify_qp(ep->com.qp->rhp, Loading @@ -1717,8 +1718,6 @@ static int close_con_rpl(struct c4iw_dev *dev, struct sk_buff *skb) break; break; } } spin_unlock_irqrestore(&ep->com.lock, flags); spin_unlock_irqrestore(&ep->com.lock, flags); if (stop_timer) stop_ep_timer(ep); if (release) if (release) release_ep_resources(ep); release_ep_resources(ep); return 0; return 0; Loading Loading @@ -1957,6 +1956,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) ep->txq_idx = cxgb4_port_idx(pdev) * step; ep->txq_idx = cxgb4_port_idx(pdev) * step; step = ep->com.dev->rdev.lldi.nrxq / step = ep->com.dev->rdev.lldi.nrxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->ctrlq_idx = cxgb4_port_idx(pdev); ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ cxgb4_port_idx(pdev) * step]; cxgb4_port_idx(pdev) * step]; dev_put(pdev); dev_put(pdev); Loading @@ -1971,6 +1971,7 @@ int c4iw_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param) step = ep->com.dev->rdev.lldi.ntxq / step = ep->com.dev->rdev.lldi.ntxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->txq_idx = cxgb4_port_idx(ep->dst->neighbour->dev) * step; ep->txq_idx = cxgb4_port_idx(ep->dst->neighbour->dev) * step; ep->ctrlq_idx = cxgb4_port_idx(ep->dst->neighbour->dev); step = ep->com.dev->rdev.lldi.nrxq / step = ep->com.dev->rdev.lldi.nrxq / ep->com.dev->rdev.lldi.nchan; ep->com.dev->rdev.lldi.nchan; ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ ep->rss_qid = ep->com.dev->rdev.lldi.rxq_ids[ Loading Loading @@ -2049,8 +2050,15 @@ int c4iw_create_listen(struct iw_cm_id *cm_id, int backlog) goto fail3; goto fail3; /* wait for pass_open_rpl */ /* wait for pass_open_rpl */ wait_event(ep->com.waitq, ep->com.rpl_done); wait_event_timeout(ep->com.waitq, ep->com.rpl_done, C4IW_WR_TO); if (ep->com.rpl_done) err = ep->com.rpl_err; err = ep->com.rpl_err; else { printk(KERN_ERR MOD "Device %s not responding!\n", pci_name(ep->com.dev->rdev.lldi.pdev)); ep->com.dev->rdev.flags = T4_FATAL_ERROR; err = -EIO; } if (!err) { if (!err) { cm_id->provider_data = ep; cm_id->provider_data = ep; goto out; goto out; Loading Loading @@ -2079,10 +2087,17 @@ int c4iw_destroy_listen(struct iw_cm_id *cm_id) err = listen_stop(ep); err = listen_stop(ep); if (err) if (err) goto done; goto done; wait_event(ep->com.waitq, ep->com.rpl_done); wait_event_timeout(ep->com.waitq, ep->com.rpl_done, C4IW_WR_TO); if (ep->com.rpl_done) err = ep->com.rpl_err; else { printk(KERN_ERR MOD "Device %s not responding!\n", pci_name(ep->com.dev->rdev.lldi.pdev)); ep->com.dev->rdev.flags = T4_FATAL_ERROR; err = -EIO; } cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, PF_INET); cxgb4_free_stid(ep->com.dev->rdev.lldi.tids, ep->stid, PF_INET); done: done: err = ep->com.rpl_err; cm_id->rem_ref(cm_id); cm_id->rem_ref(cm_id); c4iw_put_ep(&ep->com); c4iw_put_ep(&ep->com); return err; return err; Loading @@ -2095,8 +2110,6 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) int close = 0; int close = 0; int fatal = 0; int fatal = 0; struct c4iw_rdev *rdev; struct c4iw_rdev *rdev; int start_timer = 0; int stop_timer = 0; spin_lock_irqsave(&ep->com.lock, flags); spin_lock_irqsave(&ep->com.lock, flags); Loading @@ -2120,7 +2133,7 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) ep->com.state = ABORTING; ep->com.state = ABORTING; else { else { ep->com.state = CLOSING; ep->com.state = CLOSING; start_timer = 1; start_ep_timer(ep); } } set_bit(CLOSE_SENT, &ep->com.flags); set_bit(CLOSE_SENT, &ep->com.flags); break; break; Loading @@ -2128,7 +2141,7 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { if (!test_and_set_bit(CLOSE_SENT, &ep->com.flags)) { close = 1; close = 1; if (abrupt) { if (abrupt) { stop_timer = 1; stop_ep_timer(ep); ep->com.state = ABORTING; ep->com.state = ABORTING; } else } else ep->com.state = MORIBUND; ep->com.state = MORIBUND; Loading @@ -2146,10 +2159,6 @@ int c4iw_ep_disconnect(struct c4iw_ep *ep, int abrupt, gfp_t gfp) } } spin_unlock_irqrestore(&ep->com.lock, flags); spin_unlock_irqrestore(&ep->com.lock, flags); if (start_timer) start_ep_timer(ep); if (stop_timer) stop_ep_timer(ep); if (close) { if (close) { if (abrupt) if (abrupt) ret = abort_connection(ep, NULL, gfp); ret = abort_connection(ep, NULL, gfp); Loading Loading @@ -2244,7 +2253,7 @@ static void process_work(struct work_struct *work) { { struct sk_buff *skb = NULL; struct sk_buff *skb = NULL; struct c4iw_dev *dev; struct c4iw_dev *dev; struct cpl_act_establish *rpl = cplhdr(skb); struct cpl_act_establish *rpl; unsigned int opcode; unsigned int opcode; int ret; int ret; Loading
drivers/infiniband/hw/cxgb4/cq.c +2 −2 Original line number Original line Diff line number Diff line Loading @@ -43,7 +43,7 @@ static int destroy_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, int ret; int ret; wr_len = sizeof *res_wr + sizeof *res; wr_len = sizeof *res_wr + sizeof *res; skb = alloc_skb(wr_len, GFP_KERNEL | __GFP_NOFAIL); skb = alloc_skb(wr_len, GFP_KERNEL); if (!skb) if (!skb) return -ENOMEM; return -ENOMEM; set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0); set_wr_txq(skb, CPL_PRIORITY_CONTROL, 0); Loading Loading @@ -118,7 +118,7 @@ static int create_cq(struct c4iw_rdev *rdev, struct t4_cq *cq, /* build fw_ri_res_wr */ /* build fw_ri_res_wr */ wr_len = sizeof *res_wr + sizeof *res; wr_len = sizeof *res_wr + sizeof *res; skb = alloc_skb(wr_len, GFP_KERNEL | __GFP_NOFAIL); skb = alloc_skb(wr_len, GFP_KERNEL); if (!skb) { if (!skb) { ret = -ENOMEM; ret = -ENOMEM; goto err4; goto err4; Loading