On Wed, Jan 22, 2025 at 11:24:45AM +0900, Kunihiko Hayashi wrote: > There are two variables that indicate the interrupt type to be used > in the next test execution, global "irq_type" and test->irq_type. > > The former is referenced from pci_endpoint_test_get_irq() to preserve > the current type for ioctl(PCITEST_GET_IRQTYPE). > > In pci_endpoint_test_request_irq(), since this global variable is > referenced when an error occurs, the unintended error message is > displayed. > > For example, the following message shows "MSI 3" even if the current > irq type becomes "MSI-X". > > # pcitest -i 2 > pci-endpoint-test 0000:01:00.0: Failed to request IRQ 30 for MSI 3 > SET IRQ TYPE TO MSI-X: NOT OKAY > > Fix this issue by using test->irq_type instead of global "irq_type". > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: b2ba9225e031 ("misc: pci_endpoint_test: Avoid using module parameter to determine irqtype") > Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> - Mani > --- > drivers/misc/pci_endpoint_test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c > index 302955c20979..a342587fc78a 100644 > --- a/drivers/misc/pci_endpoint_test.c > +++ b/drivers/misc/pci_endpoint_test.c > @@ -235,7 +235,7 @@ static bool pci_endpoint_test_request_irq(struct pci_endpoint_test *test) > return true; > > fail: > - switch (irq_type) { > + switch (test->irq_type) { > case IRQ_TYPE_INTX: > dev_err(dev, "Failed to request IRQ %d for Legacy\n", > pci_irq_vector(pdev, i)); > -- > 2.25.1 > -- மணிவண்ணன் சதாசிவம்