[Bug 261377] mrsas: Firing DCMDs while controller reset leads to firmware FMU error

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 21 Jan 2022 13:16:57 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261377

            Bug ID: 261377
           Summary: mrsas: Firing DCMDs while controller reset leads to
                    firmware FMU error
           Product: Base System
           Version: 13.0-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: chandrakanth.patil@broadcom.com

Created attachment 231210
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=231210&action=edit
refrain firing DCMDs if controller reset is in progress

When controller reset is in progress, a few of the firmware registers are
in-accessible state so if drivers access any of those registers at that time
will result in undefined behaviour in firmware.

In this case, controller reset is in progress, and system shutdown is issued,
then the shutdown function in the driver will be invoked where it is waiting
for a max of 15 sec for a reset to finish and if reset is not finished within
that time frame then it is going ahead and firing the flush cache and shutdown
DCMDs to firmware which will end up accessing the queues which are not
initialised due to undergoing reset leads to FMU error in firmware

So fix is to return to OS with proper error from shutdown if controller reset
is not finished after waiting 15 sec.

I have attached the patch which will fix this issue. 

This issue is applicable to variants: 13.0, 13.1, 12.3, 12.1
If possible we can back-port other required variants.

-- 
You are receiving this mail because:
You are the assignee for the bug.