Bug #9047

workaround SAS3408 firmware issue

Added by Robert Mustacchi almost 2 years ago. Updated over 1 year ago.

driver - device drivers
Start date:
Due date:
% Done:


Estimated time:


On older revisions of the firmware ( on the Avago 9400-8i (SAS3408), we have observed that the firmware is inconsistent about the number of phys that are present. This information is obtained from three different places:

  • Manufacturing Page 5
  • SAS IO Unit Page 0
  • SAS IO Unit Page 1

The system has asserts that these values are always supposed to be the same. What we have found is one case where the SAS IO Unit Page 0 has a 9th phy when everything else does not. What we've opted to do is when we check the number of phys that are present is to take different action based on the comparison, rather than assert that they are the same.

We will always honor manufacturing page 5 as the source of truth which is what we assign into m_num_phys on the mptsas_t. From here, if we detect less phys on a SAS IO unit page, then we fail to attach and notify the user that they should talk to their vendor about the firmware. IF there are more, then we will clamp it at m_num_phys.

For testing notes see 9044.



Updated by Electric Monk over 1 year ago

  • Status changed from New to Closed

git commit e89016e771abb6871cb08b54316d9a1a826a9193

commit  e89016e771abb6871cb08b54316d9a1a826a9193
Author: Robert Mustacchi <>
Date:   2018-04-04T20:15:13.000Z

    9044 Need support for mpt_sas tri-mode parts
    9045 Clean up mpt_sas compiler warnings
    9046 mptsas_handle_topo_change can return without its locks held
    9047 workaround SAS3408 firmware issue
    Reviewed by: Jerry Jelinek <>
    Reviewed by: Hans Rosenfeld <>
    Reviewed by: Albert Lee <>
    Reviewed by: Yuri Pankov <>
    Approved by: Richard Lowe <>

Also available in: Atom PDF