PCI: endpoint: Skip odd BAR when skipping 64bit BAR
authorAlan Mikhak <alan.mikhak@sifive.com>
Thu, 23 May 2019 21:55:40 +0000 (14:55 -0700)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 11 Jun 2019 09:55:36 +0000 (10:55 +0100)
commit3041a643613a2530ade35a9ae97709a9da4c0c72
tree88456033c500f82bf26e4af96e9ea065901b9ab9
parentf16fb16ed16c7f561e9c41c9ae4107c7f6aa553c
PCI: endpoint: Skip odd BAR when skipping 64bit BAR

Always skip odd BAR when skipping 64bit BARs in pci_epf_test_set_bar()
and pci_epf_test_alloc_space() otherwise pci_epf_test_set_bar() will
call pci_epc_set_bar() on an odd loop index when skipping reserved 64bit
BAR.

Moreover, pci_epf_test_alloc_space() will call pci_epf_alloc_space() on
bind for an odd loop index when BAR is 64bit but leaks on subsequent
unbind by not calling pci_epf_free_space().

Signed-off-by: Alan Mikhak <alan.mikhak@sifive.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Paul Walmsley <paul.walmsley@sifive.com>
drivers/pci/endpoint/functions/pci-epf-test.c