On 19/07/2017 16:36, Marcel Apfelbaum wrote:
On 18/07/2017 17:12, Aleksandr Bezzubikov wrote:
An MSI-based SHPC built in PCI bridges can configure hotplugged devices
only if they notify the bridge with MSI.
But they can't trigger interrupt without the bridge being busmaster,
that's why it should be enabled.
Hi Aleksandr,
Hot-plugging an empty bridge does require making it bus-master,
otherwise we end up with an unusable pci brigde.
Signed-off-by: Aleksandr Bezzubikov <zuban32s@xxxxxxxxx>
---
drivers/pci/hotplug/shpchp_hpc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/pci/hotplug/shpchp_hpc.c
b/drivers/pci/hotplug/shpchp_hpc.c
index de0ea47..e5824c7 100644
--- a/drivers/pci/hotplug/shpchp_hpc.c
+++ b/drivers/pci/hotplug/shpchp_hpc.c
@@ -1062,6 +1062,8 @@ int shpc_init(struct controller *ctrl, struct
pci_dev *pdev)
if (rc) {
ctrl_info(ctrl, "Can't get msi for the hotplug
controller\n");
ctrl_info(ctrl, "Use INTx for the hotplug controller\n");
+ } else {
+ pci_set_master(pdev);
}
rc = request_irq(ctrl->pci_dev->irq, shpc_isr, IRQF_SHARED,
I am not really familiar with the shpc code,
but the change looks OK to me.
Reviewed-by: Marcel Apfelbaum <marcel@xxxxxxxxxx>
Hi,
Since is a fix:
Cc: stable@xxxxxxxxxxxxxxx
Thanks,
Marcel
Thanks,
Marcel