mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
msm: pci: use local pointer for rpmsg_device while sending rpmsg
Use local pointer for struct rpdev_device while sending rpmsg to avoid crash if ADSP SSR triggered while handling msm_pcie_drv_send_rpmsg(). Change-Id: Id0533611b629359142e54db428918cbce702ee44 Signed-off-by: Vivek Pernamitta <vpernami@codeaurora.org>
This commit is contained in:
parent
f4e98f0cf5
commit
7e8531e86b
1 changed files with 3 additions and 1 deletions
|
|
@ -6675,8 +6675,10 @@ static int msm_pcie_drv_send_rpmsg(struct msm_pcie_dev_t *pcie_dev,
|
|||
{
|
||||
struct msm_pcie_drv_info *drv_info = pcie_dev->drv_info;
|
||||
int ret;
|
||||
struct rpmsg_device *rpdev;
|
||||
|
||||
mutex_lock(&pcie_drv.rpmsg_lock);
|
||||
rpdev = pcie_drv.rpdev;
|
||||
if (!pcie_drv.rpdev) {
|
||||
mutex_unlock(&pcie_drv.rpmsg_lock);
|
||||
return -EIO;
|
||||
|
|
@ -6693,7 +6695,7 @@ static int msm_pcie_drv_send_rpmsg(struct msm_pcie_dev_t *pcie_dev,
|
|||
PCIE_DBG(pcie_dev, "PCIe: RC%d: DRV: sending rpmsg: command: 0x%x\n",
|
||||
pcie_dev->rc_idx, msg->pkt.dword[0]);
|
||||
|
||||
ret = rpmsg_trysend(pcie_drv.rpdev->ept, msg, sizeof(*msg));
|
||||
ret = rpmsg_trysend(rpdev->ept, msg, sizeof(*msg));
|
||||
if (ret) {
|
||||
PCIE_ERR(pcie_dev, "PCIe: RC%d: DRV: failed to send rpmsg\n",
|
||||
pcie_dev->rc_idx);
|
||||
|
|
|
|||
Loading…
Reference in a new issue