From 062ff1687bb6753cc4925cfbd6bd6084723f70a0 Mon Sep 17 00:00:00 2001 From: jal2 Date: Thu, 1 May 2003 19:15:03 +0000 Subject: This change fixes the problem with re-loading the driver while the device 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. --- at76c503.c | 11 +++++++---- 1 file 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"); } } -- cgit v1.2.3