Re: [patch] Card services & yenta driver

From: Linus Torvalds (torvalds@transmeta.com)
Date: Fri Sep 15 2000 - 16:49:35 EST


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