diff options
author | jal2 <jal2> | 2003-05-01 19:15:03 +0000 |
---|---|---|
committer | jal2 <jal2> | 2003-05-01 19:15:03 +0000 |
commit | 062ff1687bb6753cc4925cfbd6bd6084723f70a0 (patch) | |
tree | f9cd7a4192a2463da37ba3646ebf67c22952f27f | |
parent | ede1a97b4ee1206263a247098a10eb1083d5e078 (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.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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"); } } |