Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
{
struct ib_device_attr attr;
static int max_sges = -1;
+ int rc;
if (max_sges > 0)
goto out;
- ib_query_device(dev, &attr);
+ rc = ib_query_device(dev, &attr);
+ if (rc) {
+ sdp_warn(NULL, "ib_query_device failed: %d\n", rc);
+ goto out;
+ }
max_sges = attr.max_sge;
sdp_proc_init();
- ib_register_client(&sdp_client);
+ rc = ib_register_client(&sdp_client);
+ if (rc) {
+ printk(KERN_WARNING "ib_register_client failed: %d\n", rc);
+ goto error_ib_reg;
+ }
return 0;
+error_ib_reg:
+ sdp_proc_unregister();
+
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
error_sock_reg6:
sock_unregister(PF_INET_SDP);
}
sdp_prf(sk, NULL, "queueing %s skb", mid2str(h->mid));
- skb = sdp_sock_queue_rcv_skb(sk, skb);
+ sdp_sock_queue_rcv_skb(sk, skb);
return 0;
}