[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 12/24] hw/nand.c: bug fix to erase operation
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH v5 12/24] hw/nand.c: bug fix to erase operation |
Date: |
Thu, 28 Feb 2013 17:04:42 +0000 |
On 27 February 2013 07:15, Kuo-Jung Su <address@hidden> wrote:
> From: Kuo-Jung Su <address@hidden>
>
> The s->addr should be reset along with the s->addrlen,
> or it might have the previous address shifted to MSB
> and then causes problem to nand erase operation.
>
> Signed-off-by: Kuo-Jung Su <address@hidden>
> ---
> hw/nand.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/nand.c b/hw/nand.c
> index 7f40ebf..3cf91c5 100644
> --- a/hw/nand.c
> +++ b/hw/nand.c
> @@ -511,6 +511,7 @@ void nand_setio(DeviceState *dev, uint32_t value)
> nand_command(s);
>
> if (s->cmd != NAND_CMD_RANDOMREAD2) {
> + s->addr = 0;
> s->addrlen = 0;
> }
> }
I think this patch is probably right, but the code in nand_setio()
is just awful. It's trying to implement the way some commands are
"do something now" and some are "expect an address and do
something when you have the full address" and some are "command
now; address follows; final command to say now do it". But it's a
pile of conditionals that I think are harder to understand than if
there were a table of commands which were flagged for whether they
wanted addresses or not.
-- PMM
- [Qemu-devel] [PATCH v5 03/24] hw/arm: add Faraday FTINTC020 interrupt controller support, (continued)
- [Qemu-devel] [PATCH v5 03/24] hw/arm: add Faraday FTINTC020 interrupt controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 04/24] hw/arm: add Faraday FTAHBC020 support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 05/24] hw/arm: add Faraday FTDDRII030 support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 06/24] hw/arm: add Faraday FTPWMTMR010 timer support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 07/24] hw/arm: add Faraday FTWDT010 watchdog timer support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 08/24] hw/arm: add Faraday FTRTC011 RTC timer support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 09/24] hw/arm: add Faraday FTDMAC020 AHB DMA support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 10/24] hw/arm: add Faraday FTAPBBRG020 APB DMA support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 13/24] hw/arm: add Faraday FTNANDC021 nand flash controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 12/24] hw/nand.c: bug fix to erase operation, Kuo-Jung Su, 2013/02/27
- Re: [Qemu-devel] [PATCH v5 12/24] hw/nand.c: bug fix to erase operation,
Peter Maydell <=
- [Qemu-devel] [PATCH v5 11/24] hw/nand.c: bug fix to BUSY/READY status bit, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 14/24] hw/arm: add Faraday FTI2C010 I2C controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 18/24] hw/arm: add Faraday FTGMAC100 1Gbps ethernet support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 24/24] hw/arm: add Faraday FTSPI020 SPI flash controller support, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 17/24] util: add linux bit ordering reversal functions, Kuo-Jung Su, 2013/02/27
- [Qemu-devel] [PATCH v5 22/24] hw/arm: add Faraday FTMAC110 10/100Mbps ethernet support, Kuo-Jung Su, 2013/02/27