[LIBERTAS] Don't attempt to use devices with too-old boot firmware.
David Woodhouse
dwmw2 at infradead.org
Tue Nov 7 22:38:36 EST 2006
Commit: 7b6af4b532ff0cd94f666db65121a83dd844e043
Parent: 9d2bae412006aaf955e1a9056662fbbc47fc177a
commit 7b6af4b532ff0cd94f666db65121a83dd844e043
Author: David Woodhouse <dwmw2 at infradead.org>
AuthorDate: Sun Nov 5 15:53:38 2006 +0800
Commit: David Woodhouse <dwmw2 at infradead.org>
CommitDate: Sun Nov 5 15:53:38 2006 +0800
[LIBERTAS] Don't attempt to use devices with too-old boot firmware.
http://dev.laptop.org/ticket/285
Signed-off-by: David Woodhouse <dwmw2 at infradead.org>
---
drivers/net/wireless/libertas/if_usb.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c
index 2d3eaa8..4ca96b5 100644
--- a/drivers/net/wireless/libertas/if_usb.c
+++ b/drivers/net/wireless/libertas/if_usb.c
@@ -225,6 +225,21 @@ static int if_usb_probe(struct usb_inter
}
}
+ /* It can't just be '< 0x3104' because sometimes after you
+ unload and reload the driver a few times it ends up saying
+ 0x3006 */
+ if (udev->descriptor.bcdDevice == 0x3102
+#ifdef SUPPORT_BOOT_COMMAND
+ && UpdateStorage.u8DriverFunctionActive == DRIVER_NORMAL
+#endif
+ ) {
+ printk("Boot2 firmware too old (%X).\n",
+ udev->descriptor.bcdDevice);
+ LEAVE();
+ return -EINVAL;
+ }
+
+
if (!if_usb_table[i].idVendor) {
PRINTM(INFO, "Discard the Probe request\n");
PRINTM(INFO, "VID = 0x%X PID = 0x%X\n",
More information about the Commits-kernel
mailing list