summaryrefslogtreecommitdiff
path: root/iscsiuio
diff options
context:
space:
mode:
authorManish Rangankar <mrangankar@marvell.com>2021-07-06 15:02:43 +0530
committerNilesh Javali <njavali@marvell.com>2021-07-09 12:40:36 +0530
commit2725428566d58c19808d86256a80db2ff58446ad (patch)
tree6ad0e7d13ef850192a9ffd6a78c4683437ee03f7 /iscsiuio
parente0ed60fb8e492a9e90c6dbadb168bf27163db5c4 (diff)
downloadopen-iscsi-2725428566d58c19808d86256a80db2ff58446ad.tar.gz
bnx2x.c: Re-initialize bp->version with baseline version.
In case eth device failed to return correct version, then we will initialize bp->version with baseline instead of assigning unknown version number. Signed-off-by: Manish Rangankar <mrangankar@marvell.com>
Diffstat (limited to 'iscsiuio')
-rw-r--r--iscsiuio/src/unix/libs/bnx2x.c19
-rw-r--r--iscsiuio/src/unix/libs/bnx2x.h3
2 files changed, 19 insertions, 3 deletions
diff --git a/iscsiuio/src/unix/libs/bnx2x.c b/iscsiuio/src/unix/libs/bnx2x.c
index 0e326d4..7481e86 100644
--- a/iscsiuio/src/unix/libs/bnx2x.c
+++ b/iscsiuio/src/unix/libs/bnx2x.c
@@ -350,6 +350,13 @@ static int bnx2x_is_drv_version_unknown(struct bnx2x_driver_version *version)
return 0;
}
+static void bnx2x_set_drv_version_default(bnx2x_t *bp)
+{
+ bp->version.major = BNX2X_DEFAULT_MAJOR_VERSION;
+ bp->version.minor = BNX2X_DEFAULT_MINOR_VERSION;
+ bp->version.sub_minor = BNX2X_DEFAULT_SUB_MINOR_VERSION;
+}
+
/**
* bnx2x_get_drv_version() - Used to determine the driver version
* @param bp - Device used to determine bnx2x driver version
@@ -405,8 +412,7 @@ static int bnx2x_get_drv_version(bnx2x_t *bp)
}
bp->version.sub_minor = atoi(tok);
- LOG_INFO(PFX "%s: bnx2x driver using version %d.%d.%d",
- nic->log_name,
+ LOG_INFO(PFX "%s: interface version %d.%d.%d", nic->log_name,
bp->version.major, bp->version.minor, bp->version.sub_minor);
close(fd);
@@ -710,7 +716,14 @@ static int bnx2x_open(nic_t *nic)
/* If version is unknown, go read from ethtool */
rc = bnx2x_get_drv_version(bp);
if (rc)
- goto open_error;
+ bnx2x_set_drv_version_default(bp);
+ else if (!(bnx2x_is_ver60_plus(bp) || bnx2x_is_ver52(bp)))
+ bnx2x_set_drv_version_default(bp);
+
+ LOG_INFO(PFX "%s: bnx2x Use baseline version %d.%d.%d",
+ nic->log_name,
+ bp->version.major, bp->version.minor,
+ bp->version.sub_minor);
} else {
/* Version is not unknown, just use it */
bnx2x_version.major = bp->version.major;
diff --git a/iscsiuio/src/unix/libs/bnx2x.h b/iscsiuio/src/unix/libs/bnx2x.h
index ce55cfc..e204cbb 100644
--- a/iscsiuio/src/unix/libs/bnx2x.h
+++ b/iscsiuio/src/unix/libs/bnx2x.h
@@ -615,6 +615,9 @@ struct ustorm_eth_rx_producers {
__u16 reserved;
};
+#define BNX2X_DEFAULT_MAJOR_VERSION 1
+#define BNX2X_DEFAULT_MINOR_VERSION 70
+#define BNX2X_DEFAULT_SUB_MINOR_VERSION 1
#define BNX2X_UNKNOWN_MAJOR_VERSION -1
#define BNX2X_UNKNOWN_MINOR_VERSION -1
#define BNX2X_UNKNOWN_SUB_MINOR_VERSION -1