diff options
| -rw-r--r-- | drivers/firmware/dell_rbu.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/drivers/firmware/dell_rbu.c b/drivers/firmware/dell_rbu.c index dfedb777d8c9..fdb8b042e64d 100644 --- a/drivers/firmware/dell_rbu.c +++ b/drivers/firmware/dell_rbu.c | |||
| @@ -49,7 +49,7 @@ | |||
| 49 | MODULE_AUTHOR("Abhay Salunke <abhay_salunke@dell.com>"); | 49 | MODULE_AUTHOR("Abhay Salunke <abhay_salunke@dell.com>"); |
| 50 | MODULE_DESCRIPTION("Driver for updating BIOS image on DELL systems"); | 50 | MODULE_DESCRIPTION("Driver for updating BIOS image on DELL systems"); |
| 51 | MODULE_LICENSE("GPL"); | 51 | MODULE_LICENSE("GPL"); |
| 52 | MODULE_VERSION("3.1"); | 52 | MODULE_VERSION("3.2"); |
| 53 | 53 | ||
| 54 | #define BIOS_SCAN_LIMIT 0xffffffff | 54 | #define BIOS_SCAN_LIMIT 0xffffffff |
| 55 | #define MAX_IMAGE_LENGTH 16 | 55 | #define MAX_IMAGE_LENGTH 16 |
| @@ -564,12 +564,10 @@ static ssize_t read_rbu_data(struct kobject *kobj, char *buffer, | |||
| 564 | 564 | ||
| 565 | static void callbackfn_rbu(const struct firmware *fw, void *context) | 565 | static void callbackfn_rbu(const struct firmware *fw, void *context) |
| 566 | { | 566 | { |
| 567 | int rc = 0; | 567 | rbu_data.entry_created = 0; |
| 568 | 568 | ||
| 569 | if (!fw || !fw->size) { | 569 | if (!fw || !fw->size) |
| 570 | rbu_data.entry_created = 0; | ||
| 571 | return; | 570 | return; |
| 572 | } | ||
| 573 | 571 | ||
| 574 | spin_lock(&rbu_data.lock); | 572 | spin_lock(&rbu_data.lock); |
| 575 | if (!strcmp(image_type, "mono")) { | 573 | if (!strcmp(image_type, "mono")) { |
| @@ -592,15 +590,6 @@ static void callbackfn_rbu(const struct firmware *fw, void *context) | |||
| 592 | } else | 590 | } else |
| 593 | pr_debug("invalid image type specified.\n"); | 591 | pr_debug("invalid image type specified.\n"); |
| 594 | spin_unlock(&rbu_data.lock); | 592 | spin_unlock(&rbu_data.lock); |
| 595 | |||
| 596 | rc = request_firmware_nowait(THIS_MODULE, FW_ACTION_NOHOTPLUG, | ||
| 597 | "dell_rbu", &rbu_device->dev, &context, callbackfn_rbu); | ||
| 598 | if (rc) | ||
| 599 | printk(KERN_ERR | ||
| 600 | "dell_rbu:%s request_firmware_nowait failed" | ||
| 601 | " %d\n", __FUNCTION__, rc); | ||
| 602 | else | ||
| 603 | rbu_data.entry_created = 1; | ||
| 604 | } | 593 | } |
| 605 | 594 | ||
| 606 | static ssize_t read_rbu_image_type(struct kobject *kobj, char *buffer, | 595 | static ssize_t read_rbu_image_type(struct kobject *kobj, char *buffer, |
| @@ -735,14 +724,7 @@ static int __init dcdrbu_init(void) | |||
| 735 | sysfs_create_bin_file(&rbu_device->dev.kobj, | 724 | sysfs_create_bin_file(&rbu_device->dev.kobj, |
| 736 | &rbu_packet_size_attr); | 725 | &rbu_packet_size_attr); |
| 737 | 726 | ||
| 738 | rc = request_firmware_nowait(THIS_MODULE, FW_ACTION_NOHOTPLUG, | 727 | rbu_data.entry_created = 0; |
| 739 | "dell_rbu", &rbu_device->dev, &context, callbackfn_rbu); | ||
| 740 | if (rc) | ||
| 741 | printk(KERN_ERR "dell_rbu:%s:request_firmware_nowait" | ||
| 742 | " failed %d\n", __FUNCTION__, rc); | ||
| 743 | else | ||
| 744 | rbu_data.entry_created = 1; | ||
| 745 | |||
| 746 | return rc; | 728 | return rc; |
| 747 | 729 | ||
| 748 | } | 730 | } |
