Skip to content

Commit 799dcb6

Browse files
committed
Merge: RDMA/iw_cxgb4: Driver update
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/merge_requests/6712 JIRA: https://issues.redhat.com/browse/RHEL-83218 Update the iw_cxgb4 driver to upstream kernel v6.14. Testing: https://beaker.engineering.redhat.com/jobs/10948356 Signed-off-by: Kamal Heib <kheib@redhat.com> Approved-by: Ivan Vecera <ivecera@redhat.com> Approved-by: José Ignacio Tornos Martínez <jtornosm@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: Augusto Caringi <acaringi@redhat.com>
2 parents e36db40 + 1c0c232 commit 799dcb6

File tree

4 files changed

+14
-3
lines changed

4 files changed

+14
-3
lines changed

drivers/infiniband/hw/cxgb4/cm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ static void start_ep_timer(struct c4iw_ep *ep)
191191
static int stop_ep_timer(struct c4iw_ep *ep)
192192
{
193193
pr_debug("ep %p stopping\n", ep);
194-
del_timer_sync(&ep->timer);
194+
timer_delete_sync(&ep->timer);
195195
if (!test_and_set_bit(TIMEOUT, &ep->com.flags)) {
196196
c4iw_put_ep(&ep->com);
197197
return 0;

drivers/infiniband/hw/cxgb4/device.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,8 +1114,10 @@ static inline struct sk_buff *copy_gl_to_skb_pkt(const struct pkt_gl *gl,
11141114
* The math here assumes sizeof cpl_pass_accept_req >= sizeof
11151115
* cpl_rx_pkt.
11161116
*/
1117-
skb = alloc_skb(gl->tot_len + sizeof(struct cpl_pass_accept_req) +
1118-
sizeof(struct rss_header) - pktshift, GFP_ATOMIC);
1117+
skb = alloc_skb(size_add(gl->tot_len,
1118+
sizeof(struct cpl_pass_accept_req) +
1119+
sizeof(struct rss_header)) - pktshift,
1120+
GFP_ATOMIC);
11191121
if (unlikely(!skb))
11201122
return NULL;
11211123

drivers/infiniband/hw/cxgb4/provider.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ static const struct ib_device_ops c4iw_dev_ops = {
473473
.fill_res_cq_entry = c4iw_fill_res_cq_entry,
474474
.fill_res_cm_id_entry = c4iw_fill_res_cm_id_entry,
475475
.fill_res_mr_entry = c4iw_fill_res_mr_entry,
476+
.fill_res_qp_entry = c4iw_fill_res_qp_entry,
476477
.get_dev_fw_str = get_dev_fw_str,
477478
.get_dma_mr = c4iw_get_dma_mr,
478479
.get_hw_stats = c4iw_get_mib,

drivers/infiniband/hw/cxgb4/qp.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,6 +1599,7 @@ static void __flush_qp(struct c4iw_qp *qhp, struct c4iw_cq *rchp,
15991599
int count;
16001600
int rq_flushed = 0, sq_flushed;
16011601
unsigned long flag;
1602+
struct ib_event ev;
16021603

16031604
pr_debug("qhp %p rchp %p schp %p\n", qhp, rchp, schp);
16041605

@@ -1607,6 +1608,13 @@ static void __flush_qp(struct c4iw_qp *qhp, struct c4iw_cq *rchp,
16071608
if (schp != rchp)
16081609
spin_lock(&schp->lock);
16091610
spin_lock(&qhp->lock);
1611+
if (qhp->srq && qhp->attr.state == C4IW_QP_STATE_ERROR &&
1612+
qhp->ibqp.event_handler) {
1613+
ev.device = qhp->ibqp.device;
1614+
ev.element.qp = &qhp->ibqp;
1615+
ev.event = IB_EVENT_QP_LAST_WQE_REACHED;
1616+
qhp->ibqp.event_handler(&ev, qhp->ibqp.qp_context);
1617+
}
16101618

16111619
if (qhp->wq.flushed) {
16121620
spin_unlock(&qhp->lock);

0 commit comments

Comments
 (0)