summaryrefslogtreecommitdiff
path: root/drivers/xen/xenbus/xenbus_client.c
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2020-09-19 12:58:54 +0300
committerMichael Bestas <mkbestas@lineageos.org>2020-09-19 12:58:54 +0300
commit3b601dd398b0f8a66744c0ecf384a6cbe65e36e7 (patch)
tree570d5895dfced5d2e443a7f9b8f6fa5f9a7560f3 /drivers/xen/xenbus/xenbus_client.c
parenta638073161e90ac6dc0ffc2e27cbc4bcd3ff88c3 (diff)
parent5fd2d19eeb9767339e1338eb6789495d1812065b (diff)
Merge branch 'android-4.4-p' of https://android.googlesource.com/kernel/common into lineage-17.1-caf-msm8998
This brings LA.UM.8.4.r1-05900-8x98.0 up to date with https://android.googlesource.com/kernel/common/ android-4.4-p at commit: 5fd2d19eeb976 Merge 4.4.236 into android-4.4-p Conflicts: drivers/scsi/ufs/ufshcd.c Change-Id: I22282a0d571bdb72f50d3fc1e2cee4443de1f7f4
Diffstat (limited to 'drivers/xen/xenbus/xenbus_client.c')
-rw-r--r--drivers/xen/xenbus/xenbus_client.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/xen/xenbus/xenbus_client.c b/drivers/xen/xenbus/xenbus_client.c
index df27cefb2fa3..266f446ba331 100644
--- a/drivers/xen/xenbus/xenbus_client.c
+++ b/drivers/xen/xenbus/xenbus_client.c
@@ -384,8 +384,14 @@ int xenbus_grant_ring(struct xenbus_device *dev, void *vaddr,
int i, j;
for (i = 0; i < nr_pages; i++) {
- err = gnttab_grant_foreign_access(dev->otherend_id,
- virt_to_gfn(vaddr), 0);
+ unsigned long gfn;
+
+ if (is_vmalloc_addr(vaddr))
+ gfn = pfn_to_gfn(vmalloc_to_pfn(vaddr));
+ else
+ gfn = virt_to_gfn(vaddr);
+
+ err = gnttab_grant_foreign_access(dev->otherend_id, gfn, 0);
if (err < 0) {
xenbus_dev_fatal(dev, err,
"granting access to ring page");