summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/google/gve
diff options
context:
space:
mode:
authorYang Yingliang <yangyingliang@huawei.com>2022-11-04 14:17:36 +0800
committerDavid S. Miller <davem@davemloft.net>2022-11-07 11:32:28 +0000
commit64c426dfbbd2710e4bcac42aaced21fe10f05fde (patch)
tree2b6cd3b412dfd6d474f3a11107f1f4df4fae38be /drivers/net/ethernet/google/gve
parent6c8fae0caf5dd893987a66772b12aacdf88dd848 (diff)
gve: Fix error return code in gve_prefill_rx_pages()
If alloc_page() fails in gve_prefill_rx_pages(), it should return an error code in the error path. Fixes: 82fd151d38d9 ("gve: Reduce alloc and copy costs in the GQ rx path") Cc: Jeroen de Borst <jeroendb@google.com> Cc: Catherine Sullivan <csully@google.com> Cc: Shailend Chand <shailend@google.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/google/gve')
-rw-r--r--drivers/net/ethernet/google/gve/gve_rx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/google/gve/gve_rx.c b/drivers/net/ethernet/google/gve/gve_rx.c
index e2f4494c65fb..1f55137722b0 100644
--- a/drivers/net/ethernet/google/gve/gve_rx.c
+++ b/drivers/net/ethernet/google/gve/gve_rx.c
@@ -150,8 +150,10 @@ static int gve_prefill_rx_pages(struct gve_rx_ring *rx)
for (j = 0; j < rx->qpl_copy_pool_mask + 1; j++) {
struct page *page = alloc_page(GFP_KERNEL);
- if (!page)
+ if (!page) {
+ err = -ENOMEM;
goto alloc_err_qpl;
+ }
rx->qpl_copy_pool[j].page = page;
rx->qpl_copy_pool[j].page_offset = 0;