Commit 0b50f116 authored by Li Ming's avatar Li Ming Committed by Dan Williams
Browse files

PCI/IDE: Fix reading a wrong reg for unused sel stream initialization



During pci_ide_init(), it will write PCI_ID_RESERVED_STREAM_ID into all
unused selective IDE stream blocks. In a selective IDE stream block, IDE
stream ID field is in selective IDE stream control register instead of
selective IDE stream capability register.

Fixes: 07911537 ("PCI/IDE: Initialize an ID for all IDE streams")
Signed-off-by: default avatarLi Ming <ming.li@zohomail.com>
Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarXu Yilun <yilun.xu@linux.intel.com>
Link: https://patch.msgid.link/20260111073823.486665-1-ming.li@zohomail.com


Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent 8370af20
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ void pci_ide_init(struct pci_dev *pdev)
	for (u16 i = 0; i < nr_streams; i++) {
		int pos = __sel_ide_offset(ide_cap, nr_link_ide, i, nr_ide_mem);

		pci_read_config_dword(pdev, pos + PCI_IDE_SEL_CAP, &val);
		pci_read_config_dword(pdev, pos + PCI_IDE_SEL_CTL, &val);
		if (val & PCI_IDE_SEL_CTL_EN)
			continue;
		val &= ~PCI_IDE_SEL_CTL_ID;