Showing error 1572

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: drivers/hwmon/lm78.c
Line in file: 627
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

 597                else if ((i & 0xfe) == 0xc0)
 598                        kind = lm79;
 599                else {
 600                        if (kind == 0)
 601                                dev_warn(&adapter->dev, "Ignoring 'force' "
 602                                        "parameter for unknown chip at "
 603                                        "adapter %d, address 0x%02x\n",
 604                                        i2c_adapter_id(adapter), address);
 605                        goto err_nodev;
 606                }
 607
 608                if (lm78_alias_detect(client, i)) {
 609                        dev_dbg(&adapter->dev, "Device at 0x%02x appears to "
 610                                "be the same as ISA device\n", address);
 611                        goto err_nodev;
 612                }
 613        }
 614
 615        if (isa)
 616                mutex_unlock(&isa->update_lock);
 617
 618        switch (kind) {
 619        case lm79:
 620                client_name = "lm79";
 621                break;
 622        default:
 623                client_name = "lm78";
 624        }
 625        strlcpy(info->type, client_name, I2C_NAME_SIZE);
 626
 627        return 0;
 628
 629 err_nodev:
 630        if (isa)
 631                mutex_unlock(&isa->update_lock);
 632        return -ENODEV;
 633}
 634
 635static int lm78_i2c_probe(struct i2c_client *client,
 636                          const struct i2c_device_id *id)
 637{
Show full sources