PCI: endpoint: Add "volatile" to pci_epf_test_reg
authorKishon Vijay Abraham I <kishon@ti.com>
Fri, 18 Aug 2017 14:57:57 +0000 (20:27 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 29 Aug 2017 21:00:37 +0000 (16:00 -0500)
struct pci_epf_test_reg is the MEMSPACE of pci-epf-test function driver
that will be accessed by the "host" for programming the pci-epf-test
device. So this structure shouldn't be subjected to compiler optimization
in pci_epf_test_cmd_handler() since the values can be changed by code
outside the scope of current code at any time.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/endpoint/functions/pci-epf-test.c

index 53fff80..5cbc05a 100644 (file)
@@ -267,7 +267,7 @@ static void pci_epf_test_cmd_handler(struct work_struct *work)
                                                     cmd_handler.work);
        struct pci_epf *epf = epf_test->epf;
        struct pci_epc *epc = epf->epc;
-       struct pci_epf_test_reg *reg = epf_test->reg[0];
+       volatile struct pci_epf_test_reg *reg = epf_test->reg[0];
 
        if (!reg->command)
                goto reset_handler;