lkml.org 
[lkml]   [2022]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH RFT] scsi: pm8001: Fix FW crash for maxcpus=1
Date
Hi John,

> On 06/01/2022 13:03, Ajish.Koshy@microchip.com 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.

After going through check_fw_ready(), the change here looks fine.

>
> Thanks,
> John
\
 
 \ /
  Last update: 2022-01-07 12:06    [W:0.061 / U:0.552 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site