diff --git a/drivers/pci/controller/pci-msm.c b/drivers/pci/controller/pci-msm.c index 00458992f75b..bd3099bff085 100644 --- a/drivers/pci/controller/pci-msm.c +++ b/drivers/pci/controller/pci-msm.c @@ -4689,12 +4689,15 @@ static void msm_pcie_notify_client(struct msm_pcie_dev_t *dev, if (dev->event_reg && dev->event_reg->callback && (dev->event_reg->events & event)) { struct msm_pcie_notify *notify = &dev->event_reg->notify; + struct msm_pcie_notify client_notify; - notify->event = event; - notify->user = dev->event_reg->user; + client_notify.event = event; + client_notify.user = notify->user; + client_notify.data = notify->data; + client_notify.options = notify->options; PCIE_DUMP(dev, "PCIe: callback RC%d for event %d\n", dev->rc_idx, event); - dev->event_reg->callback(notify); + dev->event_reg->callback(&client_notify); if ((dev->event_reg->options & MSM_PCIE_CONFIG_NO_RECOVERY) && (event == MSM_PCIE_EVENT_LINKDOWN)) {