pci_ep: fix wrong addressing to barno

barno was mistakely readed from the target structure,
resulting in undefined behavious depending on the previous memory
content. fix that.

Fixes: bb41333782 ("pci_ep: add pci endpoint sandbox driver")
Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
[trini: Drop unused bar_idx]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Ramon Fried 2019-07-15 23:04:41 +03:00 committed by Tom Rini
parent 80f485f6a4
commit eb18742575

View File

@ -83,14 +83,11 @@ static int sandbox_read_bar(struct udevice *dev, uint fn,
struct pci_bar *ep_bar, enum pci_barno barno)
{
struct sandbox_pci_ep_priv *priv = dev_get_priv(dev);
int bar_idx;
if (fn > 0)
return -ENODEV;
bar_idx = ep_bar->barno;
memcpy(ep_bar, &priv->bars[bar_idx], sizeof(*ep_bar));
memcpy(ep_bar, &priv->bars[barno], sizeof(*ep_bar));
return 0;
}