Mercurial > illumos > illumos-gate
changeset 10936:e52b5709a64a
6893489 COMSTER - provide MODDRV for properly handling interface changes
6893502 COMSTAR - qlt should provide MODDRV revision control for fct interface
6893493 COMSTAR - emlxs should provide MODDRV revision control for fct interface
author | allan <Allan.Ou@Sun.COM> |
---|---|
date | Tue, 03 Nov 2009 10:54:17 +0800 |
parents | fb2b65d50333 |
children | b6ce4b1e9e41 |
files | usr/src/uts/common/io/comstar/port/fct/fct.c usr/src/uts/common/io/comstar/port/qlt/qlt.c usr/src/uts/common/io/comstar/port/qlt/qlt_open.h usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c usr/src/uts/common/sys/fct.h usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h |
diffstat | 6 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/comstar/port/fct/fct.c Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/io/comstar/port/fct/fct.c Tue Nov 03 10:54:17 2009 +0800 @@ -1118,6 +1118,12 @@ char taskq_name[24]; iport = (fct_i_local_port_t *)port->port_fct_private; + if (port->port_fca_version != FCT_FCA_MODREV_1) { + cmn_err(CE_WARN, + "fct: %s driver version mismatch", + port->port_default_alias); + return (FCT_FAILURE); + } if (port->port_default_alias) { int l = strlen(port->port_default_alias);
--- a/usr/src/uts/common/io/comstar/port/qlt/qlt.c Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/io/comstar/port/qlt/qlt.c Tue Nov 03 10:54:17 2009 +0800 @@ -1093,6 +1093,7 @@ * state struct. */ port->port_fca_private = qlt; + port->port_fca_version = FCT_FCA_MODREV_1; port->port_fca_abort_timeout = 5 * 1000; /* 5 seconds */ bcopy(qlt->nvram->node_name, port->port_nwwn, 8); bcopy(qlt->nvram->port_name, port->port_pwwn, 8);
--- a/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h Tue Nov 03 10:54:17 2009 +0800 @@ -45,7 +45,7 @@ #endif #ifndef QLT_VERSION -#define QLT_VERSION "20090922-1.02" +#define QLT_VERSION "20090922-1.02a" #endif #ifndef QLT_NAME
--- a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c Tue Nov 03 10:54:17 2009 +0800 @@ -1230,6 +1230,7 @@ /* Intialize */ fct_port = port->fct_port; + fct_port->port_fca_version = FCT_FCA_MODREV_1; fct_port->port_fca_private = port; fct_port->port_fca_abort_timeout = 30 * 1000; /* 30 seconds */
--- a/usr/src/uts/common/sys/fct.h Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/sys/fct.h Tue Nov 03 10:54:17 2009 +0800 @@ -197,6 +197,8 @@ stmf_data_buf_t *dbuf); } fct_dbuf_store_t; +#define FCT_FCA_MODREV_1 1 + typedef struct fct_local_port { void *port_fct_private; void *port_fca_private; @@ -247,6 +249,7 @@ fct_status_t (*port_info)(uint32_t cmd, struct fct_local_port *port, void *arg, uint8_t *buf, uint32_t *bufsizep); + int port_fca_version; } fct_local_port_t; /*
--- a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h Mon Nov 02 17:07:53 2009 -0800 +++ b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h Tue Nov 03 10:54:17 2009 +0800 @@ -32,11 +32,11 @@ extern "C" { #endif -#define EMLXS_VERSION "2.40s" +#define EMLXS_VERSION "2.40t" #define EMLXS_DATE_MINUTE "15" /* 00-59 */ #define EMLXS_DATE_HOUR "10" /* 00-23 */ -#define EMLXS_DATE_DAY "17" /* 00-31 */ -#define EMLXS_DATE_MONTH "07" /* 01-12 */ +#define EMLXS_DATE_DAY "23" /* 00-31 */ +#define EMLXS_DATE_MONTH "10" /* 01-12 */ #define EMLXS_DATE_YEAR "2009" /* YYYY */ #define EMLXS_REVISION EMLXS_DATE_YEAR "." EMLXS_DATE_MONTH "." \