From 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 13 May 2024 10:30:14 +0000
Subject: [PATCH] modify sin led gpio
---
kernel/drivers/infiniband/hw/qib/qib_user_sdma.c | 14 +++++---------
1 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/kernel/drivers/infiniband/hw/qib/qib_user_sdma.c b/kernel/drivers/infiniband/hw/qib/qib_user_sdma.c
index 6e6730f..bf2f30d 100644
--- a/kernel/drivers/infiniband/hw/qib/qib_user_sdma.c
+++ b/kernel/drivers/infiniband/hw/qib/qib_user_sdma.c
@@ -225,8 +225,6 @@
if (sdma_rb_node) {
sdma_rb_node->refcount++;
} else {
- int ret;
-
sdma_rb_node = kmalloc(sizeof(
struct qib_user_sdma_rb_node), GFP_KERNEL);
if (!sdma_rb_node)
@@ -235,9 +233,7 @@
sdma_rb_node->refcount = 1;
sdma_rb_node->pid = current->pid;
- ret = qib_user_sdma_rb_insert(&qib_user_sdma_rb_root,
- sdma_rb_node);
- BUG_ON(ret == 0);
+ qib_user_sdma_rb_insert(&qib_user_sdma_rb_root, sdma_rb_node);
}
pq->sdma_rb_node = sdma_rb_node;
@@ -321,7 +317,7 @@
* the caller can ignore this page.
*/
if (put) {
- put_page(page);
+ unpin_user_page(page);
} else {
/* coalesce case */
kunmap(page);
@@ -635,7 +631,7 @@
kunmap(pkt->addr[i].page);
if (pkt->addr[i].put_page)
- put_page(pkt->addr[i].page);
+ unpin_user_page(pkt->addr[i].page);
else
__free_page(pkt->addr[i].page);
} else if (pkt->addr[i].kvaddr) {
@@ -674,7 +670,7 @@
else
j = npages;
- ret = get_user_pages_fast(addr, j, 0, pages);
+ ret = pin_user_pages_fast(addr, j, FOLL_LONGTERM, pages);
if (ret != j) {
i = 0;
j = ret;
@@ -710,7 +706,7 @@
/* if error, return all pages not managed by pkt */
free_pages:
while (i < j)
- put_page(pages[i++]);
+ unpin_user_page(pages[i++]);
done:
return ret;
--
Gitblit v1.6.2