Associated pci_epf_bar structure is needed in pci_epc_clear_bar() but
would be cleared in pci_epf_free_space(), if called first, and BAR
would not get cleared.

Signed-off-by: Alan Mikhak <alan.mik...@sifive.com>
---
 drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c 
b/drivers/pci/endpoint/functions/pci-epf-test.c
index 27806987e93b..f81a219dde5b 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -381,8 +381,8 @@ static void pci_epf_test_unbind(struct pci_epf *epf)
                epf_bar = &epf->bar[bar];
 
                if (epf_test->reg[bar]) {
-                       pci_epf_free_space(epf, epf_test->reg[bar], bar);
                        pci_epc_clear_bar(epc, epf->func_no, epf_bar);
+                       pci_epf_free_space(epf, epf_test->reg[bar], bar);
                }
        }
 }
-- 
2.7.4

Reply via email to