diff options
author | allan <Allan.Ou@Sun.COM> | 2009-11-03 10:54:17 +0800 |
---|---|---|
committer | allan <Allan.Ou@Sun.COM> | 2009-11-03 10:54:17 +0800 |
commit | 162fafd3d0764eb6022fe01ce970de8775eda209 (patch) | |
tree | 5c44230a1bfeeffebecf62e99cde6f766f93f558 | |
parent | 1dbc1fed8be6e82e676ff3f124628dc470058bfb (diff) | |
download | illumos-joyent-162fafd3d0764eb6022fe01ce970de8775eda209.tar.gz |
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
-rw-r--r-- | usr/src/uts/common/io/comstar/port/fct/fct.c | 6 | ||||
-rw-r--r-- | usr/src/uts/common/io/comstar/port/qlt/qlt.c | 1 | ||||
-rw-r--r-- | usr/src/uts/common/io/comstar/port/qlt/qlt_open.h | 2 | ||||
-rw-r--r-- | usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c | 1 | ||||
-rw-r--r-- | usr/src/uts/common/sys/fct.h | 3 | ||||
-rw-r--r-- | usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h | 6 |
6 files changed, 15 insertions, 4 deletions
diff --git a/usr/src/uts/common/io/comstar/port/fct/fct.c b/usr/src/uts/common/io/comstar/port/fct/fct.c index 1a5cd95cf2..577499e183 100644 --- a/usr/src/uts/common/io/comstar/port/fct/fct.c +++ b/usr/src/uts/common/io/comstar/port/fct/fct.c @@ -1118,6 +1118,12 @@ fct_register_local_port(fct_local_port_t *port) 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); diff --git a/usr/src/uts/common/io/comstar/port/qlt/qlt.c b/usr/src/uts/common/io/comstar/port/qlt/qlt.c index c631a053e8..ae1ed80a0b 100644 --- a/usr/src/uts/common/io/comstar/port/qlt/qlt.c +++ b/usr/src/uts/common/io/comstar/port/qlt/qlt.c @@ -1093,6 +1093,7 @@ qlt_port_start(caddr_t arg) * 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); diff --git a/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h b/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h index 0672acb2f0..4876e85d21 100644 --- a/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h +++ b/usr/src/uts/common/io/comstar/port/qlt/qlt_open.h @@ -45,7 +45,7 @@ extern "C" { #endif #ifndef QLT_VERSION -#define QLT_VERSION "20090922-1.02" +#define QLT_VERSION "20090922-1.02a" #endif #ifndef QLT_NAME diff --git a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c index a3fd47a9b1..f3025c0271 100644 --- a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c +++ b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c @@ -1230,6 +1230,7 @@ emlxs_fct_bind_port(emlxs_port_t *port) /* 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 */ diff --git a/usr/src/uts/common/sys/fct.h b/usr/src/uts/common/sys/fct.h index aecfb30bf9..3aceee25f4 100644 --- a/usr/src/uts/common/sys/fct.h +++ b/usr/src/uts/common/sys/fct.h @@ -197,6 +197,8 @@ typedef struct fct_dbuf_store { 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 @@ typedef struct fct_local_port { 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; /* diff --git a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h index 7a4ec60f6b..0e1a4c6efc 100644 --- a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h +++ b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h @@ -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 "." \ |