mirror of
https://github.com/torvalds/linux.git
synced 2026-09-19 09:08:02 +02:00
The PF SR-IOV enable path caches VF pci_dev pointers in dpiring_to_vfpcidev_lut[] by iterating with pci_get_device(). Those entries do not own a reference, because the iterator drops the previous device reference on each step. The cached pointer is then dereferenced later when handling OCTEON_VF_FLR_REQUEST. Replace the cached VF mapping with runtime lookup on the mailbox DPI ring: derive the VF index from q_no, resolve the VF via exported PCI IOV helpers, validate it with the PF pointer and VF ID, then issue pcie_flr() and drop the reference with pci_dev_put(). Remove the unused VF lookup table initialization and cleanup. Fixes: |
||
|---|---|---|
| .. | ||
| common | ||
| liquidio | ||
| octeon | ||
| thunder | ||
| Kconfig | ||
| Makefile | ||