aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjal2 <jal2>2003-05-01 19:15:03 +0000
committerjal2 <jal2>2003-05-01 19:15:03 +0000
commit062ff1687bb6753cc4925cfbd6bd6084723f70a0 (patch)
treef9cd7a4192a2463da37ba3646ebf67c22952f27f
parentede1a97b4ee1206263a247098a10eb1083d5e078 (diff)
This change fixes the problem with re-loading the driver while the devicebefore_new_bss_list_with_timeouts
stays powered (and keeps its firmware). The problem was that downloading the external firmware twice was fine with 0.90.x firmwares but fails with 0.100.x and 1.101.y. This change simply ignores the error USB_ST_STALL during downloading the external firmware.
-rw-r--r--at76c503.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/at76c503.c b/at76c503.c
index 622ac3b..26d9bbf 100644
--- a/at76c503.c
+++ b/at76c503.c
@@ -1,5 +1,5 @@
/* -*- linux-c -*- */
-/* $Id: at76c503.c,v 1.13 2003/04/08 21:30:23 jal2 Exp $
+/* $Id: at76c503.c,v 1.14 2003/05/01 19:15:03 jal2 Exp $
*
* USB at76c503/at76c505 driver
*
@@ -3556,7 +3556,7 @@ struct at76c503 *at76c503_new_device(struct usb_device *udev, int board_type,
goto error;
}
- info("$Id: at76c503.c,v 1.13 2003/04/08 21:30:23 jal2 Exp $ compiled %s %s", __DATE__, __TIME__);
+ info("$Id: at76c503.c,v 1.14 2003/05/01 19:15:03 jal2 Exp $ compiled %s %s", __DATE__, __TIME__);
info("firmware version %d.%d.%d #%d",
dev->fw_version.major, dev->fw_version.minor,
dev->fw_version.patch, dev->fw_version.build);
@@ -3627,8 +3627,11 @@ struct at76c503 *at76c503_do_probe(struct module *mod, struct usb_device *udev,
if (extfw && extfw_size) {
ret = at76c503_download_external_fw(udev, extfw, extfw_size);
if (ret < 0) {
- err("Downloading external firmware failed: %d", ret);
- goto error;
+ if (ret != USB_ST_STALL) {
+ err("Downloading external firmware failed: %d", ret);
+ goto error;
+ } else
+ dbg("assuming external fw was already downloaded");
}
}