svn commit: r242720 - head/sys/cam/scsi

Alexander Motin mav at FreeBSD.org
Wed Nov 7 23:12:54 UTC 2012


Author: mav
Date: Wed Nov  7 23:12:53 2012
New Revision: 242720
URL: http://svnweb.freebsd.org/changeset/base/242720

Log:
  Use information about suported diagnostic pages to avoid reading optional
  Element Descriptor page if it is not supported.  This removes one error
  message from verbose logs during boot on systems with some enclosures.
  
  Sponsored by:	iXsystems, Inc.

Modified:
  head/sys/cam/scsi/scsi_enc_ses.c

Modified: head/sys/cam/scsi/scsi_enc_ses.c
==============================================================================
--- head/sys/cam/scsi/scsi_enc_ses.c	Wed Nov  7 22:53:46 2012	(r242719)
+++ head/sys/cam/scsi/scsi_enc_ses.c	Wed Nov  7 23:12:53 2012	(r242720)
@@ -363,6 +363,7 @@ typedef struct ses_softc {
 	uint32_t		ses_flags;
 #define	SES_FLAG_TIMEDCOMP	0x01
 #define	SES_FLAG_ADDLSTATUS	0x02
+#define	SES_FLAG_DESC		0x04
 
 	ses_control_reqlist_t	ses_requests;
 	ses_control_reqlist_t	ses_pending_requests;
@@ -1271,7 +1272,10 @@ ses_process_pages(enc_softc_t *enc, stru
 
 	err = 0;
 	for (i = 0; i < length; i++) {
-		if (page->params[i] == SesAddlElementStatus) {
+		if (page->params[i] == SesElementDescriptor) {
+			ses->ses_flags |= SES_FLAG_DESC;
+			break;
+		} else if (page->params[i] == SesAddlElementStatus) {
 			ses->ses_flags |= SES_FLAG_ADDLSTATUS;
 			break;
 		}
@@ -1486,7 +1490,8 @@ out:
 		ses_cache_free(enc, enc_cache);
 	else {
 		enc_update_request(enc, SES_UPDATE_GETSTATUS);
-		enc_update_request(enc, SES_UPDATE_GETELMDESCS);
+		if (ses->ses_flags & SES_FLAG_DESC)
+			enc_update_request(enc, SES_UPDATE_GETELMDESCS);
 		if (ses->ses_flags & SES_FLAG_ADDLSTATUS)
 			enc_update_request(enc, SES_UPDATE_GETELMADDLSTATUS);
 		enc_update_request(enc, SES_PUBLISH_CACHE);


More information about the svn-src-all mailing list