aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorNelson Escobar <neescoba@cisco.com>2024-11-13 23:56:39 +0000
committerJakub Kicinski <kuba@kernel.org>2024-11-15 15:38:41 -0800
commita28ccf1d6c102c8d874e8d75d676a2f870b75fa9 (patch)
treeb92ec20e5f7cc83b3442a7e4c97a3f21da3a80c8
parentenic: Move enic resource adjustments to separate function (diff)
downloadwireguard-linux-a28ccf1d6c102c8d874e8d75d676a2f870b75fa9.tar.xz
wireguard-linux-a28ccf1d6c102c8d874e8d75d676a2f870b75fa9.zip
enic: Move kdump check into enic_adjust_resources()
Move the kdump check into enic_adjust_resources() so that everything that modifies resources is in the same function. Co-developed-by: John Daley <johndale@cisco.com> Signed-off-by: John Daley <johndale@cisco.com> Co-developed-by: Satish Kharat <satishkh@cisco.com> Signed-off-by: Satish Kharat <satishkh@cisco.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Nelson Escobar <neescoba@cisco.com> Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev> Link: https://patch.msgid.link/20241113-remove_vic_resource_limits-v4-7-a34cf8570c67@cisco.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ethernet/cisco/enic/enic_main.c25
1 files changed, 9 insertions, 16 deletions
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index 84e85c9e2bf5..9913952ccb42 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -2531,6 +2531,15 @@ static int enic_adjust_resources(struct enic *enic)
return -ENOSPC;
}
+ if (is_kdump_kernel()) {
+ dev_info(enic_get_dev(enic), "Running from within kdump kernel. Using minimal resources\n");
+ enic->rq_avail = 1;
+ enic->wq_avail = 1;
+ enic->config.rq_desc_count = ENIC_MIN_RQ_DESCS;
+ enic->config.wq_desc_count = ENIC_MIN_WQ_DESCS;
+ enic->config.mtu = min_t(u16, 1500, enic->config.mtu);
+ }
+
/* if RSS isn't set, then we can only use one RQ */
if (!ENIC_SETTING(enic, RSS))
enic->rq_avail = 1;
@@ -2764,18 +2773,6 @@ static void enic_dev_deinit(struct enic *enic)
enic_free_enic_resources(enic);
}
-static void enic_kdump_kernel_config(struct enic *enic)
-{
- if (is_kdump_kernel()) {
- dev_info(enic_get_dev(enic), "Running from within kdump kernel. Using minimal resources\n");
- enic->rq_avail = 1;
- enic->wq_avail = 1;
- enic->config.rq_desc_count = ENIC_MIN_RQ_DESCS;
- enic->config.wq_desc_count = ENIC_MIN_WQ_DESCS;
- enic->config.mtu = min_t(u16, 1500, enic->config.mtu);
- }
-}
-
static int enic_dev_init(struct enic *enic)
{
struct device *dev = enic_get_dev(enic);
@@ -2811,10 +2808,6 @@ static int enic_dev_init(struct enic *enic)
return err;
}
- /* modify resource count if we are in kdump_kernel
- */
- enic_kdump_kernel_config(enic);
-
/* Set interrupt mode based on system capabilities */
err = enic_set_intr_mode(enic);