mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 15:49:42 -04:00
Merge branch 'pci/bwctrl'
- Add set_pcie_speed.sh to TEST_PROGS to fix issue when executing the set_pcie_cooling_state.sh test case (Yi Lai) - Fix the pcie_bwctrl_select_speed() return value in cases where a non-compliant device doesn't advertise valid supported speeds (Ilpo Järvinen) - Avoid a NULL pointer dereference when we run out of bus numbers to assign for a bridge secondary bus (Lukas Wunner) * pci/bwctrl: PCI/bwctrl: Fix NULL pointer dereference on bus number exhaustion PCI/bwctrl: Fix pcie_bwctrl_select_speed() return type selftests/pcie_bwctrl: Add 'set_pcie_speed.sh' to TEST_PROGS
This commit is contained in:
@@ -113,7 +113,7 @@ static u16 pcie_bwctrl_select_speed(struct pci_dev *port, enum pci_bus_speed spe
|
||||
up_read(&pci_bus_sem);
|
||||
}
|
||||
if (!supported_speeds)
|
||||
return PCI_EXP_LNKCAP2_SLS_2_5GB;
|
||||
supported_speeds = PCI_EXP_LNKCAP2_SLS_2_5GB;
|
||||
|
||||
return pcie_supported_speeds2target_speed(supported_speeds & desired_speeds);
|
||||
}
|
||||
@@ -294,6 +294,10 @@ static int pcie_bwnotif_probe(struct pcie_device *srv)
|
||||
struct pci_dev *port = srv->port;
|
||||
int ret;
|
||||
|
||||
/* Can happen if we run out of bus numbers during enumeration. */
|
||||
if (!port->subordinate)
|
||||
return -ENODEV;
|
||||
|
||||
struct pcie_bwctrl_data *data = devm_kzalloc(&srv->device,
|
||||
sizeof(*data), GFP_KERNEL);
|
||||
if (!data)
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
TEST_PROGS = set_pcie_cooling_state.sh
|
||||
TEST_PROGS = set_pcie_cooling_state.sh set_pcie_speed.sh
|
||||
include ../lib.mk
|
||||
|
||||
Reference in New Issue
Block a user