]> www.infradead.org Git - users/hch/misc.git/commitdiff
selftests: pci_endpoint: Add GET_IRQTYPE checks to each interrupt test
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Tue, 25 Feb 2025 11:02:47 +0000 (20:02 +0900)
committerKrzysztof Wilczyński <kwilczynski@kernel.org>
Sat, 8 Mar 2025 14:36:00 +0000 (14:36 +0000)
Add GET_IRQTYPE API checks to each interrupt test.

While at it, change pci_ep_ioctl() to get the appropriate return
value from ioctl().

Suggested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20250225110252.28866-2-hayashi.kunihiko@socionext.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
tools/testing/selftests/pci_endpoint/pci_endpoint_test.c

index 576c590b277b10d545b2a96587df41772cfd3e88..d05e107d069846e2208611c6fc488ffb27148d38 100644 (file)
@@ -25,7 +25,7 @@
 #define pci_ep_ioctl(cmd, arg)                 \
 ({                                             \
        ret = ioctl(self->fd, cmd, arg);        \
-       ret = ret < 0 ? -errno : 0;             \
+       ret = ret < 0 ? -errno : ret;           \
 })
 
 static const char *test_device = "/dev/pci-endpoint-test.0";
@@ -102,6 +102,9 @@ TEST_F(pci_ep_basic, LEGACY_IRQ_TEST)
        pci_ep_ioctl(PCITEST_SET_IRQTYPE, 0);
        ASSERT_EQ(0, ret) TH_LOG("Can't set Legacy IRQ type");
 
+       pci_ep_ioctl(PCITEST_GET_IRQTYPE, 0);
+       ASSERT_EQ(0, ret) TH_LOG("Can't get Legacy IRQ type");
+
        pci_ep_ioctl(PCITEST_LEGACY_IRQ, 0);
        EXPECT_FALSE(ret) TH_LOG("Test failed for Legacy IRQ");
 }
@@ -113,6 +116,9 @@ TEST_F(pci_ep_basic, MSI_TEST)
        pci_ep_ioctl(PCITEST_SET_IRQTYPE, 1);
        ASSERT_EQ(0, ret) TH_LOG("Can't set MSI IRQ type");
 
+       pci_ep_ioctl(PCITEST_GET_IRQTYPE, 0);
+       ASSERT_EQ(1, ret) TH_LOG("Can't get MSI IRQ type");
+
        for (i = 1; i <= 32; i++) {
                pci_ep_ioctl(PCITEST_MSI, i);
                EXPECT_FALSE(ret) TH_LOG("Test failed for MSI%d", i);
@@ -126,6 +132,9 @@ TEST_F(pci_ep_basic, MSIX_TEST)
        pci_ep_ioctl(PCITEST_SET_IRQTYPE, 2);
        ASSERT_EQ(0, ret) TH_LOG("Can't set MSI-X IRQ type");
 
+       pci_ep_ioctl(PCITEST_GET_IRQTYPE, 0);
+       ASSERT_EQ(2, ret) TH_LOG("Can't get MSI-X IRQ type");
+
        for (i = 1; i <= 2048; i++) {
                pci_ep_ioctl(PCITEST_MSIX, i);
                EXPECT_FALSE(ret) TH_LOG("Test failed for MSI-X%d", i);