Bug #2777
mpt_sas needs to try MUR reset at attach() time.
90%
Description
Pardon the redundancy (MUR == Message Unit Reset) in the subject. :)
The mpt_sas attachment path will always send a hard-reset, a diagnostic-reset using MPT/MPI2 terms. On a modern card-BIOS revision (7.17.0.0, 7.25.0.0, maybe others), and on an Intel-produced GA-level motherboard, this causes a hard system lock. We believe it to be a hardware problem most likely, or perhaps a longer string of circumstances with Illumos that only manifests a lock on this particular combination of hardware.
Regardless, after inspecting the FreeBSD driver, attempting a Message Unit Reset (MUR) first seems to make the right thing happen. So if we are attaching, we will attempt a Message Unit Reset regardless of a not-happened-yet query of the card's capabilities. This seems to work around the system lock.
We've subsequently booted a previously unbootable system with this in place, several times. A customer has since booted their previously unbootable systems over 1800 times without incident.
Updated by Dan McDonald over 8 years ago
- Status changed from New to Resolved
changeset: 13704:b0c0d877d231
user: Dan McDonald <danmcd@nexenta.com>
date: Tue May 29 10:57:43 2012 -0400
description:
2777 mpt_sas needs to try MUR reset at attach() time.
Reviewed by: Richard Elling <richard.elling@gmail.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>
Reviewed by: Gordon Ross <Gordon.Ross@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Approved by: Garrett D'Amore <garrett@damore.org>
modified:
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas.c
usr/src/uts/common/io/scsi/adapters/mpt_sas/mptsas_impl.c
usr/src/uts/common/sys/scsi/adapters/mpt_sas/mptsas_var.h