@@ -2499,8 +2499,9 @@ int cxgbi_get_host_param(struct Scsi_Host *shost, enum iscsi_host_param param,
EXPORT_SYMBOL_GPL(cxgbi_get_host_param);
struct iscsi_endpoint *cxgbi_ep_connect(struct Scsi_Host *shost,
- struct sockaddr *dst_addr,
- int non_blocking)
+ struct sockaddr_storage *dst_addr,
+ int non_blocking,
+ struct iface_rec *iface)
{
struct iscsi_endpoint *ep;
struct cxgbi_endpoint *cep;
@@ -2520,15 +2521,15 @@ struct iscsi_endpoint *cxgbi_ep_connect(struct Scsi_Host *shost,
}
}
- if (dst_addr->sa_family == AF_INET) {
- csk = cxgbi_check_route(dst_addr);
+ if (dst_addr->ss_family == AF_INET) {
+ csk = cxgbi_check_route((struct sockaddr *)dst_addr);
#if IS_ENABLED(CONFIG_IPV6)
- } else if (dst_addr->sa_family == AF_INET6) {
- csk = cxgbi_check_route6(dst_addr);
+ } else if (dst_addr->ss_family == AF_INET6) {
+ csk = cxgbi_check_route6((struct sockaddr *)dst_addr);
#endif
} else {
pr_info("address family 0x%x NOT supported.\n",
- dst_addr->sa_family);
+ dst_addr->ss_family);
err = -EAFNOSUPPORT;
return (struct iscsi_endpoint *)ERR_PTR(err);
}
@@ -596,7 +596,7 @@ int cxgbi_set_host_param(struct Scsi_Host *,
enum iscsi_host_param, char *, int);
int cxgbi_get_host_param(struct Scsi_Host *, enum iscsi_host_param, char *);
struct iscsi_endpoint *cxgbi_ep_connect(struct Scsi_Host *,
- struct sockaddr *, int);
+ struct sockaddr_storage *, int, struct iface_rec *);
int cxgbi_ep_poll(struct iscsi_endpoint *, int);
void cxgbi_ep_disconnect(struct iscsi_endpoint *);
Update Chelsio iSCSI driver to accept the session iface for creating the iSCSI connection. Also accept dst_addr as sockaddr_storage instead of sockaddr. Signed-off-by: Robert LeBlanc <robert@leblancnet.us> --- drivers/scsi/cxgbi/libcxgbi.c | 15 ++++++++------- drivers/scsi/cxgbi/libcxgbi.h | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-)