No description
Find a file
En-Wei Wu 20139c69e3 ice: avoid IRQ collision to fix init failure on ACPI S3 resume
[ Upstream commit bc69ad7486 ]

A bug in https://bugzilla.kernel.org/show_bug.cgi?id=218906 describes
that irdma would break and report hardware initialization failed after
suspend/resume with Intel E810 NIC (tested on 6.9.0-rc5).

The problem is caused due to the collision between the irq numbers
requested in irdma and the irq numbers requested in other drivers
after suspend/resume.

The irq numbers used by irdma are derived from ice's ice_pf->msix_entries
which stores mappings between MSI-X index and Linux interrupt number.
It's supposed to be cleaned up when suspend and rebuilt in resume but
it's not, causing irdma using the old irq numbers stored in the old
ice_pf->msix_entries to request_irq() when resume. And eventually
collide with other drivers.

This patch fixes this problem. On suspend, we call ice_deinit_rdma() to
clean up the ice_pf->msix_entries (and free the MSI-X vectors used by
irdma if we've dynamically allocated them). On resume, we call
ice_init_rdma() to rebuild the ice_pf->msix_entries (and allocate the
MSI-X vectors if we would like to dynamically allocate them).

Fixes: f9f5301e7e ("ice: Register auxiliary device to provide RDMA")
Tested-by: Cyrus Lien <cyrus.lien@canonical.com>
Signed-off-by: En-Wei Wu <en-wei.wu@canonical.com>
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-27 13:52:20 +02:00
arch mips: bmips: BCM6358: make sure CBR is correctly set 2024-06-27 13:52:19 +02:00
block block/ioctl: prefer different overflow check 2024-06-27 13:52:12 +02:00
certs This update includes the following changes: 2023-11-02 16:15:30 -10:00
crypto crypto: ecrdsa - Fix module auto-load on add_key 2024-06-16 13:51:03 +02:00
Documentation dt-bindings: usb: realtek,rts5411: Add missing "additionalProperties" on child nodes 2024-06-21 14:40:39 +02:00
drivers ice: avoid IRQ collision to fix init failure on ACPI S3 resume 2024-06-27 13:52:20 +02:00
fs f2fs: don't set RO when shutting down f2fs 2024-06-27 13:52:18 +02:00
include OPP: Fix required_opp_tables for multiple genpds using same table 2024-06-27 13:52:19 +02:00
init printk: Fix LOG_CPU_MAX_BUF_SHIFT when BASE_SMALL is enabled 2024-06-12 11:39:35 +02:00
io_uring io_uring/sqpoll: work around a potential audit memory leak 2024-06-27 13:52:11 +02:00
ipc sysctl changes for v6.9-rc1 2024-03-18 14:59:13 -07:00
kernel tracing: Build event generation tests only as modules 2024-06-27 13:52:19 +02:00
lib ubsan: Avoid i386 UBSAN handler crashes with Clang 2024-06-27 13:52:12 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/huge_memory: don't unpoison huge_zero_folio 2024-06-21 14:40:38 +02:00
net wifi: mac80211: Recalc offload when monitor stop 2024-06-27 13:52:20 +02:00
rust rust: remove params from module macro example 2024-04-25 17:34:33 +02:00
samples samples/landlock: Fix incorrect free in populate_ruleset_net 2024-05-30 09:45:01 +02:00
scripts locking/atomic: scripts: fix ${atomic}_sub_and_test() kerneldoc 2024-06-21 14:40:31 +02:00
security ima: Fix use-after-free on a dentry's dname.name 2024-06-21 14:40:38 +02:00
sound ALSA/hda: intel-dsp-config: Document AVS as dsp_driver option 2024-06-27 13:52:20 +02:00
tools selftests: net: fix timestamp not arriving in cmsg_time.sh 2024-06-27 13:52:15 +02:00
usr Kbuild updates for v6.8 2024-01-18 17:57:07 -08:00
virt KVM: Drop unused @may_block param from gfn_to_pfn_cache_invalidate_start() 2024-04-11 12:58:53 -07:00
.clang-format clang-format: Update with v6.7-rc4's for_each macro list 2023-12-08 23:54:38 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-21 14:40:11 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: create a list of all built DTB files 2024-02-19 18:20:39 +09:00
.mailmap 18 hotfixes, 7 of which are cc:stable. 2024-05-10 14:16:03 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: Drop Gustavo Pimentel as PCI DWC Maintainer 2024-03-27 13:41:02 -05:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS cpufreq: amd-pstate: remove global header file 2024-06-21 14:40:00 +02:00
Makefile Linux 6.9.6 2024-06-21 14:40:40 +02:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.