mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-17 03:46:34 +07:00
A single remoteproc fix for an error path issue reported by Ido Yariv.
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJQtxfHAAoJELLolMlTRIoMBmoP/18d5tyz14F6VJ7Tf3yEj7Go XHi4dMe1EBsJJrpj37XCmlkvM2rq+HjVYtMIRpvHerR2LysOagHCHqqsTZMQzrDT 9R4Z9lmFCLWUj873ixi9RcOgOfBnlI0QZ7MRhpCkhKe7S8sFfGob+HmFXZM6vWvq B6H8rbaDH5o49oprOYYE3KjL3SrvTVbs/bewkKqzEZC3bhH3kEMOceewOSKW9+Td lb+AQhHHg/T2uaTnLlQBvQ+2L1GwaaKEfoKD7qJ32kMF/KEfkhGT32vxhKUNrLzp uccQQ4dSeO9MEPZKDRaVXw9iesr7YKn7E8M4MvvphDfN3+vSUk7As8zUW9glomwc 2sowZFH1CUAThTdDkTtGlLf550ShPXGjCFBt04sm2EojhPK4Ag/nBpn6uXRJtY7K GZDy635d0DB8S3Y76nkG4KpHIeZFs0era/BPhRFQ2xb0VgdnAaAwuC+kKVZz4zfd Q30qxokHFXkm9C/ZpmkEWPONPjAsPimLRwwh7IAs6Mr0atY0gEWuF/2QPO5vRnOw 7rF21DrYnjAn8x/5b/p+IVgDyNExSwPktINrWY2rF30PcJ5GWSeAAV+Rz8wjFu3g 821gKfTyLGlPh6M8MHoR/aLpBu1aYXQnC4lZDKem/xMJb5Wwj/onJ9t4XBLP9iYh fG3IMruWYbhIB2yCKOy/ =gmXa -----END PGP SIGNATURE----- Merge tag 'rproc-3.7-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc Pull remoteproc fix from Ohad Ben-Cohen: "A single remoteproc fix for an error path issue reported by Ido Yariv." * tag 'rproc-3.7-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc: remoteproc: fix error path of ->find_vqs
This commit is contained in:
commit
a95251b8ba
@ -120,15 +120,11 @@ static struct virtqueue *rp_find_vq(struct virtio_device *vdev,
|
||||
return vq;
|
||||
}
|
||||
|
||||
static void rproc_virtio_del_vqs(struct virtio_device *vdev)
|
||||
static void __rproc_virtio_del_vqs(struct virtio_device *vdev)
|
||||
{
|
||||
struct virtqueue *vq, *n;
|
||||
struct rproc *rproc = vdev_to_rproc(vdev);
|
||||
struct rproc_vring *rvring;
|
||||
|
||||
/* power down the remote processor before deleting vqs */
|
||||
rproc_shutdown(rproc);
|
||||
|
||||
list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
|
||||
rvring = vq->priv;
|
||||
rvring->vq = NULL;
|
||||
@ -137,6 +133,16 @@ static void rproc_virtio_del_vqs(struct virtio_device *vdev)
|
||||
}
|
||||
}
|
||||
|
||||
static void rproc_virtio_del_vqs(struct virtio_device *vdev)
|
||||
{
|
||||
struct rproc *rproc = vdev_to_rproc(vdev);
|
||||
|
||||
/* power down the remote processor before deleting vqs */
|
||||
rproc_shutdown(rproc);
|
||||
|
||||
__rproc_virtio_del_vqs(vdev);
|
||||
}
|
||||
|
||||
static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
|
||||
struct virtqueue *vqs[],
|
||||
vq_callback_t *callbacks[],
|
||||
@ -163,7 +169,7 @@ static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned nvqs,
|
||||
return 0;
|
||||
|
||||
error:
|
||||
rproc_virtio_del_vqs(vdev);
|
||||
__rproc_virtio_del_vqs(vdev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user