Re: LAN91C111 driver by Dan
Dan
Mon Feb 04 12:09:00 PST 2008
Good. That's a step in the right direction. Out of curiosity, what would the
nature of that failure look like? I couldn't trace the deadlock to any of the
miniport methods, where I would expect such a failure to have an impact. NDIS
stops invoking the miniport CheckForHang method whenever the system freezes
up. I would expect such a failure to cause the system to hang, the first time
it reaches a while loop that reads from the LAN chip.
Thanks,
"Dean Ramsier" wrote:
> Rising and falling edge isn't good enough for this part. It will fail if
> you don't handle level interrupts...
>
> --
> Dean Ramsier - eMVP
> BSQUARE Corporation
>
>
> "Dan" <Dan@discussions.microsoft.com> wrote in message
> news:E9CD7259-6840-403A-9A60-110285EE5EC1@microsoft.com...
> > That's interesting because the documentation specifies that The Ethernet
> > interrupt is conceptually equivalent to the LAN91C94 which specifies in
> > its
> > COR
> > register that it is level based, however, the hang does not occur in
> > miniport code. It occurs some time between when it exits the miniport ISR
> > and
> > when it invokes the Miniport HandleInterrupt method. It is rare, but the
> > system does indeed lock up intermittently. We currently detect both rising
> > edge and falling edge on the GPIO that goes to the LAN IRQ line, and it
> > works
> > for a few hundred attempts, before crashing.
> >
> > Thanks
> >
> > "Valter Minute" wrote:
> >
> >> =?Utf-8?B?RGFu?= <Dan@discussions.microsoft.com> wrote in
> >> news:C97A115A-1ADA-4059-BED2-1A69EC419A34@microsoft.com:
> >>
> >> > We are experiencing a problem with the LAN91C111 similar to what
> >> > would be expected of an intermediate driver that invokes the
> >> > NdisMSetAttributes method rather than the NdisMSetAttributesEx
> >> > method passing in the flag INTERMEDIATE_DRIVER, that is a rare but
> >> > intermittent hang in NDIS. What exactly is meant by the term
> >> > intermediate? We pulled the source code off the internet.
> >> [...]
> >>
> >> IIRC that device uses level-based IRQs and you may have problems if
> >> your processor handles only (or is configured to handle) edge-based
> >> IRQs.
> >>
> >>
> >>
> >> --
> >> Valter Minute
> >> www.fortechembeddedlabs.it
> >> Training, support and development for Windows CE
> >> (the reply address of this message is invalid)
> >>
>
>
>