That makes sense. Thanks again.

Ben

On Wed, 2014-01-22 at 10:30 +0100, John Crispin wrote:
> 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
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to