lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8383b17f160bb75dd6ca6b47cd1a0d32@linux.ibm.com>
Date: Thu, 27 Mar 2025 16:36:32 -0500
From: Wen Xiong <wenxiong@...ux.ibm.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: linux-kernel@...r.kernel.org, gjoyce@...ux.ibm.com,
        linux-pci@...r.kernel.org, Bjorn Helgaas <helgaas@...nel.org>,
        linux-scsi@...r.kernel.org
Subject: Re: [PATCH 1/1] genirq/msi: Dynamic remove/add stroage adapter hits
 EEH



> What about tearing down resources first and then issuing the reset?

This SAS adapter supports dual controller configuration. Normally we 
have two adapters in a system.
We config one of them as Primary adapter and another one as  Secondary 
adapter.
When doing remove operation on primary adapter, the Secondary adapter is 
going to be failover and config as primary by adapter firmware. During 
failover process, adapter firmware requests the secondary adapter reset, 
then sets it as primary adapter.

Secondary adapter failover triggers adapter 
reset(ipr_reset_get_unit_check_job()).

[  940.742698] ipr 0206:a0:00.0: 9070: IOA requested reset  -> FW 
requested
[  940.742733] ipr 0206:a0:00.0: Adapter to Adapter Link Failed Due to 
SAS Fabric Change [PRC: 17101C25]
[  940.742768] ipr 0206:a0:00.0: Remote IOA VPID/SN: IBM 57B4001SISIOA 
00458021

When secondary adapter doing a reset, we use the same code path as 
removing operation. We can’t free irqs for Secondary adapter since 
kernel has assigned the irqs for Secondary adapter.

Actually we discussed about "calling pci_free_irq_vectors()" before 
doing bist reset when we trying to fix in device driver.

That might cause other problems. It is also not what a user would 
expect. For example, if they disabled irq balance and manually setup irq 
binding and affinity, if we go and free and reallocate the interrupts 
across a reset, this would wipe out those changes, which would not be 
expected.

Thanks,
Wendy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ