Messages in this thread |  | | Date | Fri, 15 Sep 2000 14:49:35 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [patch] Card services & yenta driver |
| |
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/
|  |