if (csk->csk_family == AF_INET)
                daddr = &csk->daddr.sin_addr.s_addr;
-       else
+#if IS_ENABLED(CONFIG_IPV6)
+       else if (csk->csk_family == AF_INET6)
                daddr = &csk->daddr6.sin6_addr;
+#endif
+       else {
+               pr_err("address family 0x%x not supported\n", csk->csk_family);
+               goto rel_resource;
+       }
 
        n = dst_neigh_lookup(csk->dst, daddr);
 
        return 0;
 }
 
+#if IS_ENABLED(CONFIG_IPV6)
 static int cxgbi_inet6addr_handler(struct notifier_block *this,
                                   unsigned long event, void *data)
 {
        }
        rcu_read_unlock();
 }
+#endif /* IS_ENABLED(CONFIG_IPV6) */
 
 static void *t4_uld_add(const struct cxgb4_lld_info *lldi)
 {
        switch (state) {
        case CXGB4_STATE_UP:
                pr_info("cdev 0x%p, UP.\n", cdev);
+#if IS_ENABLED(CONFIG_IPV6)
                cxgbi_update_clip(cdev);
+#endif
                /* re-initialize */
                break;
        case CXGB4_STATE_START_RECOVERY:
                return rc;
        cxgb4_register_uld(CXGB4_ULD_ISCSI, &cxgb4i_uld_info);
 
+#if IS_ENABLED(CONFIG_IPV6)
        register_inet6addr_notifier(&cxgbi_inet6addr_notifier);
-
+#endif
        return 0;
 }
 
 static void __exit cxgb4i_exit_module(void)
 {
+#if IS_ENABLED(CONFIG_IPV6)
        unregister_inet6addr_notifier(&cxgbi_inet6addr_notifier);
-
+#endif
        cxgb4_unregister_uld(CXGB4_ULD_ISCSI);
        cxgbi_device_unregister_all(CXGBI_FLAG_DEV_T4);
        cxgbi_iscsi_cleanup(&cxgb4i_iscsi_transport, &cxgb4i_stt);
 
        return ERR_PTR(err);
 }
 
+#if IS_ENABLED(CONFIG_IPV6)
 static struct rt6_info *find_route_ipv6(const struct in6_addr *saddr,
                                        const struct in6_addr *daddr)
 {
 err_out:
        return ERR_PTR(err);
 }
+#endif /* IS_ENABLED(CONFIG_IPV6) */
 
 void cxgbi_sock_established(struct cxgbi_sock *csk, unsigned int snd_isn,
                        unsigned int opt)
 
        if (dst_addr->sa_family == AF_INET) {
                csk = cxgbi_check_route(dst_addr);
+#if IS_ENABLED(CONFIG_IPV6)
        } else if (dst_addr->sa_family == AF_INET6) {
                csk = cxgbi_check_route6(dst_addr);
+#endif
        } else {
                pr_info("address family 0x%x NOT supported.\n",
                        dst_addr->sa_family);