RE: [PATCH 4/5 V4] PCI: only return true when dev io state is really changed

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

 



Sorry for that offence, I should ask for your permission. 

-----Original Message-----
From: Joe Perches <joe@xxxxxxxxxxx> 
Sent: Sunday, September 27, 2020 5:14 PM
To: Zhao, Haifeng <haifeng.zhao@xxxxxxxxx>; bhelgaas@xxxxxxxxxx; oohall@xxxxxxxxx; ruscur@xxxxxxxxxx; lukas@xxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx; stuart.w.hayes@xxxxxxxxx; mr.nuke.me@xxxxxxxxx; mika.westerberg@xxxxxxxxxxxxxxx
Cc: linux-pci@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Jia, Pei P <pei.p.jia@xxxxxxxxx>; ashok.raj@xxxxxxxxxxxxxxx; Kuppuswamy, Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxx>; hch@xxxxxxxxxxxxx
Subject: Re: [PATCH 4/5 V4] PCI: only return true when dev io state is really changed

On Sun, 2020-09-27 at 04:27 -0400, Ethan Zhao wrote:
> When uncorrectable error happens, AER driver and DPC driver interrupt 
> handlers likely call
> 
>    pcie_do_recovery()
>    ->pci_walk_bus()
>      ->report_frozen_detected()
> 
> with pci_channel_io_frozen the same time.
>    If pci_dev_set_io_state() return true even if the original state is 
> pci_channel_io_frozen, that will cause AER or DPC handler re-enter the 
> error detecting and recovery procedure one after another.
>    The result is the recovery flow mixed between AER and DPC.
> So simplify the pci_dev_set_io_state() function to only return true 
> when dev->error_state is changed.
> 
> Signed-off-by: Ethan Zhao <haifeng.zhao@xxxxxxxxx>
> Tested-by: Wen Jin <wen.jin@xxxxxxxxx>
> Tested-by: Shanshan Zhang <ShanshanX.Zhang@xxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@xxxxxxxxx>
> Reviewed-by: Joe Perches <joe@xxxxxxxxxxx>

Hi Ethan/Haifeng.

Like Andy, I did not "review" this patch and sign it.
I merely suggested another simplification.
Please do not add -by: lines unless actually received by you.






[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux