fore200: fix oops on failed firmware load
authorMeelis Roos <mroos@linux.ee>
Wed, 11 Feb 2009 01:19:19 +0000 (17:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Feb 2009 01:19:19 +0000 (17:19 -0800)
Fore 200 ATM driver fails to handle request_firmware failures and oopses
when no firmware file was found. Fix it by checking for the right return
values and propaganting the return value up.

Signed-off-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/atm/fore200e.c

index 937c9c0..10f000d 100644 (file)
@@ -2519,8 +2519,8 @@ fore200e_load_and_start_fw(struct fore200e* fore200e)
        return err;
 
     sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT);
-    if (request_firmware(&firmware, buf, device) == 1) {
-       printk(FORE200E "missing %s firmware image\n", fore200e->bus->model_name);
+    if ((err = request_firmware(&firmware, buf, device)) < 0) {
+       printk(FORE200E "problem loading firmware image %s\n", fore200e->bus->model_name);
        return err;
     }