Bug #7751
closedmpt_sas sometimes times out sending SEP messages
100%
Description
We've seen various cases where when an mpt_sas controller is connected to an expander, that booting is delayed and there are many warnings of time outs in the log. These warnings look like:
/pci@0,0/pci8086,2f04@2/pci1000,30e0@0 (mpt_sas0): send_sep act 0: ioc status:7 loginfo 0WARNING: /pci@0,0/pci8086,2f04@2/pci1000,30e0@0 (mpt_sas0): passthrough command timeout /pci@0,0/pci8086,2f04@2/pci1000,30e0@0 (mpt_sas0): mptsas_send_sep: passthru SEP Processor Request message error 145
What's happening is that we're in the process of trying to flush out all of the LEDs in the attach path. When sending messages to the SEP enclosure, we currently check whether the target is considered directly attached to determine whether or not we should be sending this SEP command. If there is an actual expander or some other device that provides SES support, then we wouldn't want to send this.
We have some systems, such as a Dell R730 with an HBA 330 that report as directly attached in the target structure. When we try and flush, the command fails by timing out.
The solution here is to make a note of all of the enclosures that exist on the system and to go through and check the flags that indicate whether an expander is present or not and if so, not to send the SEP commands as we should be talking to the enumerated expander instead.