usb: wusb: don't overflow the Keep Alive IE buffer

The Keep Alive IE only has space for WUIE_ELT_MAX (== 4) device addresses.

Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
David Vrabel 2010-03-22 14:50:14 +00:00 committed by Greg Kroah-Hartman
parent 18f91196b6
commit a23b64845f

View file

@ -438,7 +438,7 @@ static void __wusbhc_keep_alive(struct wusbhc *wusbhc)
old_keep_alives = ie->hdr.bLength - sizeof(ie->hdr); old_keep_alives = ie->hdr.bLength - sizeof(ie->hdr);
keep_alives = 0; keep_alives = 0;
for (cnt = 0; for (cnt = 0;
keep_alives <= WUIE_ELT_MAX && cnt < wusbhc->ports_max; keep_alives < WUIE_ELT_MAX && cnt < wusbhc->ports_max;
cnt++) { cnt++) {
unsigned tt = msecs_to_jiffies(wusbhc->trust_timeout); unsigned tt = msecs_to_jiffies(wusbhc->trust_timeout);