Re: [PATCH RFT] scsi: pm8001: Fix FW crash for maxcpus=1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/01/2022 13:03, Ajish.Koshy@xxxxxxxxxxxxx wrote:
  only a specific vector and, also, why we check at all in
an interrupt handler.
Here is my initial understanding so far based on the code
and data sheet

1. Controller has the capability to communicate
to the host about fatal error condition via configured
interrupt vector MSI/MSI-X.
2. This capability is achieved by setting two fields
  a. Enable Controller Fatal error notification
     Dowrd 0x1C, Bit[0].
     1 - Enable; 0 - Disable
     Code: pm8001_ha->main_cfg_tbl.pm80xx_tbl.
     fatal_err_interrupt = 0x01;
  b. Fatal Error Interrupt Vector Dword 0x1C, bit[15:8]
     This parameter configures which interrupt vector
     is used to notify the host of the fatal error.
     Code: /* Update Fatal error interrupt vector */
     pm8001_ha->main_cfg_tbl.pm80xx_tbl.
     fatal_err_interrupt |=
     ((pm8001_ha->max_q_num - 1) << 8);

Probably this will be the reason why we check
the vector in process_oq() for processing
controller fatal error

if (vec == (pm8001_ha->max_q_num - 1)) {
Please do let me know if it helped in clarification.


Sounds reasonable. And we only discover the issue for 8008/8009 now as we have that (pm8001_ha->max_q_num - 1) vector being used for standard IO.

So let me know of any other issue, otherwise I'll send a v2 with the coding style fixup.

Thanks,
John



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux