Mercurial > illumos > illumos-gate
changeset 10281:422e069d2f7f
6793438 Direct attach tape fails to reconnect after library reboot or cable disconnect
6845887 vfs_mount panic at boot on a X4450 / snv_115
author | Sukumar Swaminathan <Sukumar.Swaminathan@Sun.COM> |
---|---|
date | Fri, 07 Aug 2009 15:01:35 -0700 |
parents | e555027c59d1 |
children | e1d9bb38fa41 |
files | usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_fc.h usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h |
diffstat | 6 files changed, 33 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_els.c Fri Aug 07 15:01:35 2009 -0700 @@ -1523,7 +1523,11 @@ emlxs_handle_unsol_prlo(emlxs_port_t *port, RING *rp, IOCBQ *iocbq, MATCHMAP *mp, uint32_t size) { +#ifdef ULP_PATCH4 +#ifdef ULP_PATCH6 emlxs_hba_t *hba = HBA; +#endif /* ULP_PATCH6 */ +#endif /* ULP_PATCH4 */ IOCB *iocb; uint32_t sid; #ifndef ULP_PATCH4
--- a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_fct.c Fri Aug 07 15:01:35 2009 -0700 @@ -213,7 +213,7 @@ #ifdef MODSYM_SUPPORT -static int +extern int emlxs_fct_modopen() { int err; @@ -913,10 +913,6 @@ if (!hba->tgt_mode) { return; } -#ifdef MODSYM_SUPPORT - /* Open COMSTAR */ - (void) emlxs_fct_modopen(); -#endif /* MODSYM_SUPPORT */ /* Check if COMSTAR is present */ if (((void *)MODSYM(stmf_alloc) == NULL) ||
--- a/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/io/fibre-channel/fca/emlxs/emlxs_solaris.c Fri Aug 07 15:01:35 2009 -0700 @@ -1114,8 +1114,30 @@ return (ret); } +#ifdef MODSYM_SUPPORT + /* Open SFS */ + (void) emlxs_fca_modopen(); +#ifdef SFCT_SUPPORT + /* Open FCT */ + (void) emlxs_fct_modopen(); +#endif /* SFCT_SUPPORT */ +#endif /* MODSYM_SUPPORT */ + + /* Setup devops for SFS */ + MODSYM(fc_fca_init)(&emlxs_ops); + if ((ret = mod_install(&emlxs_modlinkage)) != 0) { (void) ddi_soft_state_fini(&emlxs_soft_state); +#ifdef MODSYM_SUPPORT + /* Close SFS */ + emlxs_fca_modclose(); +#ifdef SFCT_SUPPORT + /* Close FCT */ + emlxs_fct_modclose(); +#endif /* SFCT_SUPPORT */ +#endif /* MODSYM_SUPPORT */ + + return (ret); } #ifdef SAN_DIAG_SUPPORT @@ -5542,10 +5564,6 @@ if (!hba->ini_mode) { return; } -#ifdef MODSYM_SUPPORT - /* Open SFS */ - (void) emlxs_fca_modopen(); -#endif /* MODSYM_SUPPORT */ /* Check if SFS present */ if (((void *)MODSYM(fc_fca_init) == NULL) || @@ -5555,9 +5573,6 @@ goto failed; } - /* Setup devops for SFS */ - MODSYM(fc_fca_init)(&emlxs_ops); - /* Check if our SFS driver interface matches the current SFS stack */ if (MODSYM(fc_fca_attach) (hba->dip, hba->fca_tran) != DDI_SUCCESS) { EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_attach_debug_msg,
--- a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_extern.h Fri Aug 07 15:01:35 2009 -0700 @@ -737,6 +737,7 @@ extern int emlxs_fct_port_initialize(emlxs_port_t *port); #ifdef MODSYM_SUPPORT +extern int emlxs_fct_modopen(); extern void emlxs_fct_modclose(); #endif /* MODSYM_SUPPORT */
--- a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_fc.h Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_fc.h Fri Aug 07 15:01:35 2009 -0700 @@ -46,7 +46,7 @@ /* This patch enables the driver to auto respond to unsolicited PRLO's */ /* This is needed because ULP is known to panic sometimes */ -#define ULP_PATCH4 +/* #define ULP_PATCH4 - Obsolete */ /* This patch enables the driver to fail pkt abort requests */ #define ULP_PATCH5
--- a/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h Fri Aug 07 17:54:27 2009 -0400 +++ b/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_version.h Fri Aug 07 15:01:35 2009 -0700 @@ -32,11 +32,11 @@ extern "C" { #endif -#define EMLXS_VERSION "2.40r" -#define EMLXS_DATE_MINUTE "50" /* 00-59 */ +#define EMLXS_VERSION "2.40s" +#define EMLXS_DATE_MINUTE "15" /* 00-59 */ #define EMLXS_DATE_HOUR "10" /* 00-23 */ -#define EMLXS_DATE_DAY "11" /* 00-31 */ -#define EMLXS_DATE_MONTH "06" /* 01-12 */ +#define EMLXS_DATE_DAY "17" /* 00-31 */ +#define EMLXS_DATE_MONTH "07" /* 01-12 */ #define EMLXS_DATE_YEAR "2009" /* YYYY */ #define EMLXS_REVISION EMLXS_DATE_YEAR "." EMLXS_DATE_MONTH "." \