qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/sd/pxa2xx_mmci: Disable reentrancy detection


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/sd/pxa2xx_mmci: Disable reentrancy detection
Date: Wed, 13 Dec 2023 20:00:32 +0100
User-agent: Mozilla Thunderbird

On 13/12/23 19:04, Guenter Roeck wrote:
On 12/13/23 09:19, Philippe Mathieu-Daudé wrote:
Hi Guenter,

On 13/12/23 18:12, Peter Maydell wrote:
On Wed, 13 Dec 2023 at 01:49, Guenter Roeck <linux@roeck-us.net> wrote:

All tests using pxa2xx_mmc to access mmc cards on pxa2xx platforms
such as borzoi fail starting with commit a2e1753b80 ("memory: prevent
dma-reentracy issues"). Disable reentrancy guard to fix the problem.

Fixes: a2e1753b80 ("memory: prevent dma-reentracy issues")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
  hw/sd/pxa2xx_mmci.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/hw/sd/pxa2xx_mmci.c b/hw/sd/pxa2xx_mmci.c
index 5e8ea69188..27ae8f2888 100644
--- a/hw/sd/pxa2xx_mmci.c
+++ b/hw/sd/pxa2xx_mmci.c
@@ -555,6 +555,8 @@ static void pxa2xx_mmci_instance_init(Object *obj)
      qdev_init_gpio_out_named(dev, &s->rx_dma, "rx-dma", 1);
      qdev_init_gpio_out_named(dev, &s->tx_dma, "tx-dma", 1);

+    s->iomem.disable_reentrancy_guard = true;
+

All patches that set this flag should include a comment which
explains what the device access path that triggers the reentrancy
is, please.

Can we get a reproducer or backtrace please?

qemu-system-arm: warning: Blocked re-entrant IO on MemoryRegion: pxa2xx-mmci at addr: 0x40
[    0.770246] mmc0: invalid bus width
[    0.770962] mmc0: error -22 whilst initialising SD card
[    0.828179] mmc0: invalid bus width
[    0.828445] mmc0: error -22 whilst initialising SD card

with:

qemu-system-arm -M borzoi -kernel arch/arm/boot/zImage -no-reboot -snapshot \     -device sd-card,drive=d0 -drive file=/tmp/flash,format=raw,if=none,id=d0 \
     -usb -device usb-net,netdev=net0 -netdev user,id=net0 \
     --append "root=/dev/mmcblk0 rootwait console=ttyS0"

Thank you, I'll have a look after Christmas.

Regards,

Phil.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]