On Wed, 13 Sep 2000, Andrew Morton wrote:
>
> Finally some clarity with what is going on inside this Dell CPx650
> laptop (TI PCI1225 Cardbus bridge). Yes, it _is_ contact bounce. It
> seems to find the 3com NIC particularly offensive - the card can easily
> bounce out 150 milliseconds after the first insertion interrupt.
The patch looks ok, but the SS_DEBOUNCE thing is horrible.
Why do it? All of the SS_DETECT logic is inside cs.c anyway. Now you
introduce SS_DEBOUNCE to fix a cs.c bug, and "export" that cs.c logic bug
into the low-level driver.
An alternative, and probably more logical, fix is much simpler: add a
simple
socket->events = 0;
to "yenta_get_status()". Nothing more, nothing less.
Why? Because the whole point of the socket->handler() callback is to tell
the cs layer that something new happened. But if the cs layer already did
a "get_status()", then obviously the event is no longer "new". So it
should be cleared out.
Sensible?
Also, I'd be a lot happier just changing all timeouts to microseconds.
"centiseconds" really don't exist as a valid amount of time.
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:26 EST