I have a feeling that the patch posted by luka will fix the fritz3370
problem.

i have a vague recollection that it worked once upon a time. I also
remember that in my last test it did not work, but i had wifi enabled so
that would fit in with the missing locking.

I'll let you know if that is the case and then we can look at the
nor/nand/pci combo afterwards

    John


On 22/01/2014 09:46, Ben Mulvihill wrote:
> I missed that one on the mailing list. It is the same fix, 
> or part of it anyway.
>
> Ben
>
> On Wed, 2014-01-22 at 01:01 +0100, Luka Perkov wrote:
>> On Tue, Jan 21, 2014 at 08:50:03PM +0100, Ben Mulvihill wrote:
>>> Any enlightenment you can provide will be gratefully received.
>> I have not tested this patch yet but it could be related to your
>> problem...
>>
>> Luka
>>
>>  
>> From ad77bb90cbebcd107e81722e1fbdcff91fe55614 Mon Sep 17 00:00:00 2001
>> From: Antonios Vamporakis <a...@area128.com>
>> Date: Sun, 29 Dec 2013 23:40:15 +0100
>> Subject: [PATCH 03/14] lantiq: resolve EBU conflict between NAND and PCI
>>
>> Stop PCI IRQs from taking over the EBU wile NAND is accessed.
>>
>> Signed-off-by: Antonios Vamporakis <a...@area128.com>
>> ---
>>  .../0203-xway-fix-nand-pci-conflict.patch             | 19 
>> +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>  create mode 100644 
>> target/linux/lantiq/patches-3.10/0203-xway-fix-nand-pci-conflict.patch
>>
>> diff --git 
>> a/target/linux/lantiq/patches-3.10/0203-xway-fix-nand-pci-conflict.patch 
>> b/target/linux/lantiq/patches-3.10/0203-xway-fix-nand-pci-conflict.patch
>> new file mode 100644
>> index 0000000..f4b5793
>> --- /dev/null
>> +++ b/target/linux/lantiq/patches-3.10/0203-xway-fix-nand-pci-conflict.patch
>> @@ -0,0 +1,19 @@
>> +--- a/drivers/mtd/nand/xway_nand.c
>> ++++ b/drivers/mtd/nand/xway_nand.c
>> +@@ -80,13 +80,16 @@ static void xway_reset_chip(struct nand_
>> + 
>> + static void xway_select_chip(struct mtd_info *mtd, int chip)
>> + {
>> ++   static unsigned long csflags;
>> + 
>> +    switch (chip) {
>> +    case -1:
>> +            ltq_ebu_w32_mask(NAND_CON_CE, 0, EBU_NAND_CON);
>> +            ltq_ebu_w32_mask(NAND_CON_NANDM, 0, EBU_NAND_CON);
>> ++           spin_unlock_irqrestore(&ebu_lock, csflags);
>> +            break;
>> +    case 0:
>> ++           spin_lock_irqsave(&ebu_lock, csflags);
>> +            ltq_ebu_w32_mask(0, NAND_CON_NANDM, EBU_NAND_CON);
>> +            ltq_ebu_w32_mask(0, NAND_CON_CE, EBU_NAND_CON);
>> +            break;
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to