Showing error 1208

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: 2400
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-04-30 10:52:00 UTC


Source:

2370                do_command(cam, CPIA_COMMAND_SetSensorFPS,
2371                           cam->params.sensorFps.divisor,
2372                           cam->params.sensorFps.baserate, 0, 0);
2373
2374        if (cam->cmd_queue & COMMAND_SETFLICKERCTRL)
2375                do_command(cam, CPIA_COMMAND_SetFlickerCtrl,
2376                           cam->params.flickerControl.flickerMode,
2377                           cam->params.flickerControl.coarseJump,
2378                           abs(cam->params.flickerControl.allowableOverExposure),
2379                           0);
2380
2381        if (cam->cmd_queue & COMMAND_SETECPTIMING)
2382                do_command(cam, CPIA_COMMAND_SetECPTiming,
2383                           cam->params.ecpTiming, 0, 0, 0);
2384
2385        if (cam->cmd_queue & COMMAND_PAUSE)
2386                do_command(cam, CPIA_COMMAND_EndStreamCap, 0, 0, 0, 0);
2387
2388        if (cam->cmd_queue & COMMAND_RESUME)
2389                init_stream_cap(cam);
2390
2391        if (cam->cmd_queue & COMMAND_SETLIGHTS && cam->params.qx3.qx3_detected)
2392          {
2393            int p1 = (cam->params.qx3.bottomlight == 0) << 1;
2394            int p2 = (cam->params.qx3.toplight == 0) << 3;
2395            do_command(cam, CPIA_COMMAND_WriteVCReg,  0x90, 0x8F, 0x50, 0);
2396            do_command(cam, CPIA_COMMAND_WriteMCPort, 2, 0, (p1|p2|0xE0), 0);
2397          }
2398
2399        cam->cmd_queue = COMMAND_NONE;
2400        mutex_unlock(&cam->param_lock);
2401        return;
2402}
2403
2404
2405
2406static void set_flicker(struct cam_params *params, volatile u32 *command_flags,
2407                        int on)
2408{
2409        /* Everything in here is from the Windows driver */
2410#define FIRMWARE_VERSION(x,y) (params->version.firmwareVersion == (x) && \
Show full sources