summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorMarcel Telka <marcel@telka.sk>2020-01-07 11:20:36 +0100
committerRobert Mustacchi <rm@fingolfin.org>2020-01-08 07:34:36 +0000
commitd59679dc4ee5ea26c61e7762a3f7a6f74a1f4c2c (patch)
treea4c8d50187123a9e6886cfcbb1a00548a8d084e9 /usr/src
parent77ac0eaaa1298f1119c62575dcdb2003d56e0994 (diff)
downloadillumos-joyent-d59679dc4ee5ea26c61e7762a3f7a6f74a1f4c2c.tar.gz
12163 mpt_sas: Collateral damage caused by dead SATA disk
Reviewed by: Andrew Stormont <andyjstormont@gmail.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Stefan Behrens <sbehrens@giantdisaster.de> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
index 4784a6b1a6..66256a2aa2 100644
--- a/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
+++ b/usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
@@ -14898,10 +14898,12 @@ mptsas_update_hashtab(struct mptsas *mpt)
rval = mptsas_get_target_device_info(mpt, page_address,
&dev_handle, &ptgt);
if ((rval == DEV_INFO_FAIL_PAGE0) ||
- (rval == DEV_INFO_FAIL_ALLOC) ||
- (rval == DEV_INFO_FAIL_GUID)) {
+ (rval == DEV_INFO_FAIL_ALLOC)) {
break;
}
+ if (rval == DEV_INFO_FAIL_GUID) {
+ continue;
+ }
mpt->m_dev_handle = dev_handle;
}
@@ -16601,12 +16603,12 @@ mptsas_phy_to_tgt(mptsas_t *mpt, mptsas_phymask_t phymask, uint8_t phy)
rval = mptsas_get_target_device_info(mpt, page_address,
&cur_handle, &ptgt);
if ((rval == DEV_INFO_FAIL_PAGE0) ||
- (rval == DEV_INFO_FAIL_ALLOC) ||
- (rval == DEV_INFO_FAIL_GUID)) {
+ (rval == DEV_INFO_FAIL_ALLOC)) {
break;
}
if ((rval == DEV_INFO_WRONG_DEVICE_TYPE) ||
- (rval == DEV_INFO_PHYS_DISK)) {
+ (rval == DEV_INFO_PHYS_DISK) ||
+ (rval == DEV_INFO_FAIL_GUID)) {
continue;
}
mpt->m_dev_handle = cur_handle;
@@ -16671,13 +16673,13 @@ mptsas_wwid_to_ptgt(mptsas_t *mpt, mptsas_phymask_t phymask, uint64_t wwid)
rval = mptsas_get_target_device_info(mpt, page_address,
&cur_handle, &tmp_tgt);
if ((rval == DEV_INFO_FAIL_PAGE0) ||
- (rval == DEV_INFO_FAIL_ALLOC) ||
- (rval == DEV_INFO_FAIL_GUID)) {
+ (rval == DEV_INFO_FAIL_ALLOC)) {
tmp_tgt = NULL;
break;
}
if ((rval == DEV_INFO_WRONG_DEVICE_TYPE) ||
- (rval == DEV_INFO_PHYS_DISK)) {
+ (rval == DEV_INFO_PHYS_DISK) ||
+ (rval == DEV_INFO_FAIL_GUID)) {
continue;
}
mpt->m_dev_handle = cur_handle;