Subject: Re: [RFC] net: usbnet: prevent buggy devices from killing us

From: Oliver Neukum <[email-masked]>
Date: Thu, 24 Jan 2013 12:31:08 +0100

On Thursday 24 January 2013 12:22:54 Bjørn Mork wrote:
> Oliver Neukum <[email-masked]> writes:
> 
> > On Thursday 24 January 2013 11:52:22 Bjørn Mork wrote:
> >> Oliver Neukum <[email-masked]> writes:
> >> 
> >> > On Thursday 24 January 2013 11:25:52 Bjørn Mork wrote:
> >> >> The MBIM firmware for the Sierra Wireless MC7710 is a nice source
> >> >> of "interesting" device issues.  One of the uglier ones is that
> >> >> it under certain conditions will start flooding us with frames
> >> >> having length 0 as fast as it can.  And that is pretty fast...
> >> >
> >> > If you can tell that those frames are bogus, why not count them
> >> > as opposed to generic qlen? Say, if you see 20 among the last 30
> >> > are of this type, throttle.
> >> 
> >> Sounds like a good idea, but where do I add/get that statistics?
> >
> > rx_complete
> >
> > It need not be very accurate.
> 
> Sorry for being daft, but how do I code the "20 among the last 30" part
> there?

Just by agreeing that you can live with false negatives but not false positives

if (++counter > 30) {
	counter = bogus = 0;
} else {
	if (is_bogus(packet)
		bogus++;
	if (bogus > counter/2)
		throttle();
}

	Regards
		Oliver

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email-masked]
More majordomo info at  http://vger.kernel.org/majordomo-info.html