From 0b31cfc8bc149efac2983e7016b8b1720b174926 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 3 Sep 2009 16:48:53 +0000 Subject: (usb_probe) do not display any warning when driver field is empty in /proc/bus/usb/devices (#53412) --- NEWS | 3 +++ usb.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 7863481..81adf67 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +- do not display any warning when driver field is empty in + /proc/bus/usb/devices (#53412) + Version 0.8.4 - 25 June 2009, Pascal Terjan - fix freed memory usage in usb_probe and pci_probe diff --git a/usb.c b/usb.c index e5d70b9..c7f6503 100644 --- a/usb.c +++ b/usb.c @@ -92,7 +92,7 @@ extern struct pciusb_entries usb_probe(void) { case 'I': if (e->class_id == 0 || e->module == NULL) { char driver[50]; int class_id, sub, prot = 0; - if (sscanf(buf, "I:* If#=%*2d Alt=%*2d #EPs=%*2d Cls=%02x(%*5c) Sub=%02x Prot=%02x Driver=%s", &class_id, &sub, &prot, driver) == 4) { + if (sscanf(buf, "I:* If#=%*2d Alt=%*2d #EPs=%*2d Cls=%02x(%*5c) Sub=%02x Prot=%02x Driver=%s", &class_id, &sub, &prot, driver) >= 3) { unsigned long cid = (class_id * 0x100 + sub) * 0x100 + prot; if (e->class_id == 0) e->class_id = cid; @@ -112,7 +112,7 @@ extern struct pciusb_entries usb_probe(void) { if (e->class_id == (0x1*0x100+ 0x01)) /* USB_AUDIO_CLASS*0x100 + USB_SUBCLASS_AUDIO_CONTROL*/ e->module = strdup("snd_usb_audio"); - } else if (sscanf(buf, "I: If#=%*2d Alt=%*2d #EPs=%*2d Cls=%02x(%*5c) Sub=%02x Prot=%02x Driver=%s", &class_id, &sub, &prot, driver) == 4) { + } else if (sscanf(buf, "I: If#=%*2d Alt=%*2d #EPs=%*2d Cls=%02x(%*5c) Sub=%02x Prot=%02x Driver=%s", &class_id, &sub, &prot, driver) >= 3) { /* Ignore interfaces not active */ } else fprintf(stderr, "%s %d: unknown ``I'' line\n", proc_usb_path, line); break; -- cgit v1.2.1