Bläddra i källkod

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: bb413337826e ("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>
Ramon Fried 4 år sedan
förälder
incheckning
eb18742575
1 ändrade filer med 1 tillägg och 4 borttagningar
  1. 1 4
      drivers/pci_endpoint/sandbox-pci_ep.c

+ 1 - 4
drivers/pci_endpoint/sandbox-pci_ep.c

@@ -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;
 }