All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [RESEND PATCH] net: phy: Reloc next and prev pointers inside phy_drivers
@ 2019-03-04 15:01 Michal Simek
  2019-03-04 19:04 ` Joe Hershberger
  2019-03-05 18:05 ` [U-Boot] " Joe Hershberger
  0 siblings, 2 replies; 3+ messages in thread
From: Michal Simek @ 2019-03-04 15:01 UTC (permalink / raw)
  To: u-boot

From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>

This patch relocates the pointers inside phy_drivers incase
of manual reloc. Without this reloc, these points to invalid
pre relocation address and hence causes exception or hang.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

Joe asked for it.

---
 drivers/net/phy/phy.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index ed4000991165..e0a925152e8b 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -462,6 +462,18 @@ static LIST_HEAD(phy_drivers);
 
 int phy_init(void)
 {
+#ifdef CONFIG_NEEDS_MANUAL_RELOC
+	/*
+	 * The pointers inside phy_drivers also needs to be updated incase of
+	 * manual reloc, without which these points to some invalid
+	 * pre reloc address and leads to invalid accesses, hangs.
+	 */
+	struct list_head *head = &phy_drivers;
+
+	head->next = (void *)head->next + gd->reloc_off;
+	head->prev = (void *)head->prev + gd->reloc_off;
+#endif
+
 #ifdef CONFIG_B53_SWITCH
 	phy_b53_init();
 #endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [RESEND PATCH] net: phy: Reloc next and prev pointers inside phy_drivers
  2019-03-04 15:01 [U-Boot] [RESEND PATCH] net: phy: Reloc next and prev pointers inside phy_drivers Michal Simek
@ 2019-03-04 19:04 ` Joe Hershberger
  2019-03-05 18:05 ` [U-Boot] " Joe Hershberger
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Hershberger @ 2019-03-04 19:04 UTC (permalink / raw)
  To: u-boot

On Mon, Mar 4, 2019 at 9:01 AM Michal Simek <michal.simek@xilinx.com> wrote:
>
> From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
>
> This patch relocates the pointers inside phy_drivers incase
> of manual reloc. Without this reloc, these points to invalid
> pre relocation address and hence causes exception or hang.
>
> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>

Acked-by: Joe Hershberger <joe.hershberger@ni.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] net: phy: Reloc next and prev pointers inside phy_drivers
  2019-03-04 15:01 [U-Boot] [RESEND PATCH] net: phy: Reloc next and prev pointers inside phy_drivers Michal Simek
  2019-03-04 19:04 ` Joe Hershberger
@ 2019-03-05 18:05 ` Joe Hershberger
  1 sibling, 0 replies; 3+ messages in thread
From: Joe Hershberger @ 2019-03-05 18:05 UTC (permalink / raw)
  To: u-boot

Hi Michal,

https://patchwork.ozlabs.org/patch/1051137/ was applied to http://git.denx.de/?p=u-boot/u-boot-net.git

Thanks!
-Joe

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-03-05 18:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-04 15:01 [U-Boot] [RESEND PATCH] net: phy: Reloc next and prev pointers inside phy_drivers Michal Simek
2019-03-04 19:04 ` Joe Hershberger
2019-03-05 18:05 ` [U-Boot] " Joe Hershberger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.