svn commit: r349281 - head/sys/cam/scsi
Alexander Motin
mav at FreeBSD.org
Fri Jun 21 23:29:17 UTC 2019
Author: mav
Date: Fri Jun 21 23:29:16 2019
New Revision: 349281
URL: https://svnweb.freebsd.org/changeset/base/349281
Log:
Fix individual_element_index when some type has 0 elements.
When some type has 0 elements, saved_individual_element_index was set
to -1 on second type bump, since individual_element_index was not
restored after the first. To me it looks easier just to increment
saved_individual_element_index separately than think when to save it.
MFC after: 2 weeks
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 Fri Jun 21 21:50:14 2019 (r349280)
+++ head/sys/cam/scsi/scsi_enc_ses.c Fri Jun 21 23:29:16 2019 (r349281)
@@ -444,6 +444,7 @@ ses_iter_next(struct ses_iterator *iter)
iter->type_element_index = ITERATOR_INDEX_END;
iter->global_element_index = ITERATOR_INDEX_END;
iter->individual_element_index = ITERATOR_INDEX_END;
+ iter->saved_individual_element_index = ITERATOR_INDEX_END;
return (NULL);
}
@@ -468,17 +469,12 @@ ses_iter_next(struct ses_iterator *iter)
*/
iter->type_index++;
iter->type_element_index = 0;
- iter->saved_individual_element_index
- = iter->individual_element_index;
iter->individual_element_index = ITERATOR_INDEX_INVALID;
}
if (iter->type_element_index > 0) {
- if (iter->type_element_index == 1) {
- iter->individual_element_index
- = iter->saved_individual_element_index;
- }
- iter->individual_element_index++;
+ iter->individual_element_index =
+ ++iter->saved_individual_element_index;
}
return (&iter->cache->elm_map[iter->global_element_index]);
More information about the svn-src-all
mailing list