From 4cca6faec1fc92294c3c4d32e2a858156c539cb4 Mon Sep 17 00:00:00 2001 From: Dan Fruehauf Date: Fri, 24 May 2024 00:01:19 +0000 Subject: [PATCH 1/5] Call napi_schedule instead of napi_reschedule --- modules/exanic/exanic-netdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/exanic/exanic-netdev.c b/modules/exanic/exanic-netdev.c index c9cdf0f..e35484a 100644 --- a/modules/exanic/exanic-netdev.c +++ b/modules/exanic/exanic-netdev.c @@ -1888,7 +1888,7 @@ static int exanic_netdev_poll(struct napi_struct *napi, int budget) if (exanic_rx_ready(rx)) { /* Poll again as soon as possible */ - napi_reschedule(napi); + napi_schedule(napi); } else if (priv->rx_coalesce_timeout_ns > 0) { From 235b7caf6fb334129707734f7615090caf7e3804 Mon Sep 17 00:00:00 2001 From: Dan Fruehauf Date: Fri, 24 May 2024 00:04:13 +0000 Subject: [PATCH 2/5] Remove PCIE AER el9 dropped support for it, as the mainline kernel also did, see: https://lore.kernel.org/lkml/20230307181940.868828-16-helgaas@kernel.org/ And git commit message saying: ``` pci_enable_pcie_error_reporting() enables the device to send ERR_* Messages. Since f26e58bf6f54 ("PCI/AER: Enable error reporting when AER is native"), the PCI core does this for all devices during enumeration, so the driver doesn't need to do it itself. ``` --- modules/exanic/exanic-main.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/modules/exanic/exanic-main.c b/modules/exanic/exanic-main.c index a5312f2..43e4d6a 100644 --- a/modules/exanic/exanic-main.c +++ b/modules/exanic/exanic-main.c @@ -18,9 +18,6 @@ #include #endif #include -#if defined(CONFIG_PCIEAER) -#include -#endif #include #include #include @@ -1058,9 +1055,6 @@ static int exanic_probe(struct pci_dev *pdev, goto err_req_regions; } -#if defined(CONFIG_PCIEAER) - pci_enable_pcie_error_reporting(pdev); -#endif pci_set_master(pdev); pci_set_drvdata(pdev, exanic); exanic->pci_dev = pdev; @@ -1883,9 +1877,6 @@ static int exanic_probe(struct pci_dev *pdev, err_regs_ioremap: err_regs_size: err_regs_bar_type: -#if defined(CONFIG_PCIEAER) - pci_disable_pcie_error_reporting(pdev); -#endif pci_release_regions(pdev); err_req_regions: pci_disable_device(pdev); @@ -2002,9 +1993,6 @@ static void exanic_remove(struct pci_dev *pdev) if (exanic->regs_virt != NULL) iounmap(exanic->regs_virt); -#if defined(CONFIG_PCIEAER) - pci_disable_pcie_error_reporting(pdev); -#endif pci_release_regions(pdev); pci_disable_device(pdev); } From 7d068bdd76b4347eb5a6efd11bb20f4cc1142bb0 Mon Sep 17 00:00:00 2001 From: Dan Fruehauf Date: Fri, 24 May 2024 00:42:20 +0000 Subject: [PATCH 3/5] Fix signatures of exabond_masters_show/store --- modules/exasock/exasock-bonding-sysfs.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/exasock/exasock-bonding-sysfs.c b/modules/exasock/exasock-bonding-sysfs.c index 685a0d6..3b33f2b 100644 --- a/modules/exasock/exasock-bonding-sysfs.c +++ b/modules/exasock/exasock-bonding-sysfs.c @@ -29,9 +29,9 @@ exabond_get_sysfs_namespace(struct class *cls, #endif static ssize_t -exabond_masters_show(struct class *c, +exabond_masters_show(const struct class *c, #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) - struct class_attribute *cattr, + const struct class_attribute *cattr, #endif char *buf) { @@ -71,9 +71,9 @@ exabond_masters_show(struct class *c, } static ssize_t -exabond_masters_store(struct class *c, +exabond_masters_store(const struct class *c, #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 34) - struct class_attribute *cattr, + const struct class_attribute *cattr, #endif const char *buf, size_t count) { From de5ae946de2db0f78bac7235d8c7551fedfa2d22 Mon Sep 17 00:00:00 2001 From: Dan Fruehauf Date: Fri, 24 May 2024 00:16:43 +0000 Subject: [PATCH 4/5] Update spec file to version 2.7.4 --- exanic.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exanic.spec b/exanic.spec index e1a7644..8415601 100644 --- a/exanic.spec +++ b/exanic.spec @@ -1,5 +1,5 @@ Name: exanic -Version: 2.7.2-git +Version: 2.7.4 Release: 1%{?dist} Summary: ExaNIC drivers and software From 25da2e9c2f259a48bc56a3d7c2f20fb5e59c9b1b Mon Sep 17 00:00:00 2001 From: Dan Fruehauf Date: Fri, 24 May 2024 00:16:47 +0000 Subject: [PATCH 5/5] Instructions for building RPM --- README.md | 9 +++++++++ exanic.spec | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67b341a..4f3f0ea 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,15 @@ Installation ------------ To install from source please run ``make`` and ``sudo make install`` from the top level. +RPM Build +--------- +Run: +``` +$ export exanic_version=2.7.4 +$ (cd .. && tar -czf $HOME/rpmbuild/SOURCES/exanic-${exanic_version}.tar.gz exanic-software --transform=s#exanic-software/#exanic-${exanic_version}/#g) +$ rpmbuild -ba -D 'debug_package %{nil}' exanic.spec +``` + Support ------- Complete documentation is available from our [website](https://www.cisco.com/c/en/us/td/docs/dcn/nexus3550/smartnic/sw/user-guide/cisco-nexus-smartnic-user-guide/index.html). For other questions and comments, you can contact Cisco TAC support team. diff --git a/exanic.spec b/exanic.spec index 8415601..f711a33 100644 --- a/exanic.spec +++ b/exanic.spec @@ -1,6 +1,6 @@ Name: exanic Version: 2.7.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: ExaNIC drivers and software Group: System Environment/Kernel