diff options
Diffstat (limited to 'drivers/fmc')
-rw-r--r-- | drivers/fmc/fmc-chardev.c | 9 | ||||
-rw-r--r-- | drivers/fmc/fmc-write-eeprom.c | 4 |
2 files changed, 6 insertions, 7 deletions
diff --git a/drivers/fmc/fmc-chardev.c b/drivers/fmc/fmc-chardev.c index cc031db2d2a3..ace6ef24d15e 100644 --- a/drivers/fmc/fmc-chardev.c +++ b/drivers/fmc/fmc-chardev.c @@ -143,18 +143,17 @@ static int fc_probe(struct fmc_device *fmc) fc->misc.fops = &fc_fops; fc->misc.name = kstrdup(dev_name(&fmc->dev), GFP_KERNEL); - spin_lock(&fc_lock); ret = misc_register(&fc->misc); if (ret < 0) - goto err_unlock; + goto out; + spin_lock(&fc_lock); list_add(&fc->list, &fc_devices); spin_unlock(&fc_lock); dev_info(&fc->fmc->dev, "Created misc device \"%s\"\n", fc->misc.name); return 0; -err_unlock: - spin_unlock(&fc_lock); +out: kfree(fc->misc.name); kfree(fc); return ret; @@ -174,10 +173,10 @@ static int fc_remove(struct fmc_device *fmc) spin_lock(&fc_lock); list_del(&fc->list); + spin_unlock(&fc_lock); misc_deregister(&fc->misc); kfree(fc->misc.name); kfree(fc); - spin_unlock(&fc_lock); return 0; } diff --git a/drivers/fmc/fmc-write-eeprom.c b/drivers/fmc/fmc-write-eeprom.c index 2cc680dd604d..ee5b47904130 100644 --- a/drivers/fmc/fmc-write-eeprom.c +++ b/drivers/fmc/fmc-write-eeprom.c @@ -103,7 +103,7 @@ static int fwe_run(struct fmc_device *fmc, const struct firmware *fw, char *s) * difficult to know in advance when probing the first card if others * are there. */ -int fwe_probe(struct fmc_device *fmc) +static int fwe_probe(struct fmc_device *fmc) { int err, index = 0; const struct firmware *fw; @@ -144,7 +144,7 @@ int fwe_probe(struct fmc_device *fmc) return 0; } -int fwe_remove(struct fmc_device *fmc) +static int fwe_remove(struct fmc_device *fmc) { return 0; } |