static void sdp_qp_event_handler(struct ib_event *event, void *data)
{
+ sdp_warn(NULL, "unexpected invocation: event: %d, data=%p\n",
+ event->event, data);
}
static int sdp_get_max_dev_sge(struct ib_device *dev)
hh.bsdh.bufs = htons(rx_ring_posted(sdp_sk(sk)));
hh.localrcvsz = hh.desremrcvsz = htonl(sdp_sk(sk)->recv_frags *
PAGE_SIZE + sizeof(struct sdp_bsdh));
- hh.max_adverts = 0x1;
inet_sk(sk)->saddr = inet_sk(sk)->rcv_saddr =
((struct sockaddr_in *)&id->route.addr.src_addr)->sin_addr.s_addr;
memset(&conn_param, 0, sizeof conn_param);
NIPQUAD(((struct sockaddr_in *)uaddr)->sin_addr.s_addr),
ntohs(((struct sockaddr_in *)uaddr)->sin_port));
- if (!ssk->id) {
- printk("??? ssk->id == NULL. Ohh\n");
- return -EINVAL;
- }
-
rc = rdma_resolve_addr(ssk->id, (struct sockaddr *)&src_addr,
uaddr, SDP_RESOLVE_TIMEOUT);
if (rc) {
atomic_set(&ssk->rx_ring.head, 1);
atomic_set(&ssk->rx_ring.tail, 1);
- ssk->rx_ring.buffer = kmalloc(
+ ssk->rx_ring.buffer = kzalloc(
sizeof *ssk->rx_ring.buffer * SDP_RX_SIZE, GFP_KERNEL);
if (!ssk->rx_ring.buffer) {
sdp_warn(&ssk->isk.sk,
return -ENOMEM;
}
- memset(ssk->rx_ring.buffer, 0, sizeof *ssk->rx_ring.buffer * SDP_RX_SIZE);
-
rx_cq = ib_create_cq(device, sdp_rx_irq, sdp_rx_cq_event_handler,
&ssk->isk.sk, SDP_RX_SIZE, IB_CQ_VECTOR_LEAST_ATTACHED);
goto err_cq;
}
- sdp_sk(&ssk->isk.sk)->rx_ring.cq = rx_cq;
+ ssk->rx_ring.cq = rx_cq;
INIT_WORK(&ssk->rx_comp_work, sdp_rx_comp_work);
setup_timer(&ssk->rx_ring.cq_arm_timer, sdp_arm_cq_timer,
goto err_cq;
}
- sdp_sk(&ssk->isk.sk)->tx_ring.cq = tx_cq;
+ ssk->tx_ring.cq = tx_cq;
setup_timer(&ssk->tx_ring.timer, sdp_poll_tx_timeout,
(unsigned long)ssk);