This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: i82559 driver sending dupliacte packet
- From: Larice Robert <larice at vidisys dot de>
- To: Arindam Chatterjee <arindamc at alumnux dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Fri, 31 May 2002 13:46:00 +0200 (CEST)
- Subject: Re: [ECOS] i82559 driver sending dupliacte packet
> I am using eCos downloaded from CVS 8 months ago. while sending packet
> using driver functions (if_i82559.c) same packet is going out twice. i
> have made sure that my code is not sending twice. i am getting following
> assertion fail from driver
> CYG_ASSERT( rxstatus_hi & RFD_STATUS_HI_EL, "No prev EL" )
> have anybody faced this kind of problem?? when can this happen ??
> plz help me out.
>
> TIA
> arindam C
I had the same problem. In my case follwing 2 in if_82559.c where responsible.
Mask82559Interrupt()
UnMask82259Interrupt()
I didn't have defined
CYGPRI_DEVS_ETH_INTEL_I82559_MASK_INTERRUPTS
Mask82559 will then use cyg_drv_interrupt_mask().
but for my target (sh4), cyg_drv_interrupt_mask was a NOP for the
IRQ pins i had used.
furthermore UnMask82559() should restore the irq state, but
cyg_drv_interrupt_mask() will fail if nested calls occur.
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss