Showing error 1210

User: Jiri Slaby
Error type: Double Unlock
Error type description: Some lock is unlocked twice unintentionally in a sequence
File location: drivers/media/video/cpia.c
Line in file: 1676
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-04-30 10:52:00 UTC


Source:

1646        case CPIA_COMMAND_GetColourParams:
1647        case CPIA_COMMAND_GetColourBalance:
1648        case CPIA_COMMAND_GetExposure:
1649                mutex_lock(&cam->param_lock);
1650                datasize=8;
1651                break;
1652        case CPIA_COMMAND_ReadMCPorts:
1653        case CPIA_COMMAND_ReadVCRegs:
1654                datasize = 4;
1655                break;
1656        default:
1657                datasize=0;
1658                break;
1659        }
1660
1661        cmd[0] = command>>8;
1662        cmd[1] = command&0xff;
1663        cmd[2] = a;
1664        cmd[3] = b;
1665        cmd[4] = c;
1666        cmd[5] = d;
1667        cmd[6] = datasize;
1668        cmd[7] = 0;
1669
1670        retval = cam->ops->transferCmd(cam->lowlevel_data, cmd, data);
1671        if (retval) {
1672                DBG("%x - failed, retval=%d\n", command, retval);
1673                if (command == CPIA_COMMAND_GetColourParams ||
1674                    command == CPIA_COMMAND_GetColourBalance ||
1675                    command == CPIA_COMMAND_GetExposure)
1676                        mutex_unlock(&cam->param_lock);
1677        } else {
1678                switch(command) {
1679                case CPIA_COMMAND_GetCPIAVersion:
1680                        cam->params.version.firmwareVersion = data[0];
1681                        cam->params.version.firmwareRevision = data[1];
1682                        cam->params.version.vcVersion = data[2];
1683                        cam->params.version.vcRevision = data[3];
1684                        break;
1685                case CPIA_COMMAND_GetPnPID:
1686                        cam->params.pnpID.vendor = data[0]+(((u16)data[1])<<8);
Show full sources