spin_lock(&vino_drvdata->input_lock); 
spin_lock_irqsave(&vino_drvdata->input_lock, flags); 
static int vino_v4l2_queryctrl(struct vino_channel_settings *vcs,			       struct v4l2_queryctrl *queryctrl){	int i;	int err = 0;	spin_lock(&vino_drvdata->input_lock);	switch (vcs->input) {	case VINO_INPUT_D1:		for (i = 0; i < VINO_INDYCAM_V4L2_CONTROL_COUNT; i++) {			if (vino_indycam_v4l2_controls[i].id ==			    queryctrl->id) {				memcpy(queryctrl,				       &vino_indycam_v4l2_controls[i],				       sizeof(struct v4l2_queryctrl));				goto found;			}		}		err =  -EINVAL;		break;	case VINO_INPUT_COMPOSITE:	case VINO_INPUT_SVIDEO:		for (i = 0; i < VINO_SAA7191_V4L2_CONTROL_COUNT; i++) {			if (vino_saa7191_v4l2_controls[i].id ==			    queryctrl->id) {				memcpy(queryctrl,				       &vino_saa7191_v4l2_controls[i],				       sizeof(struct v4l2_queryctrl));				goto found;			}		}		err =  -EINVAL;		break;	default:		err =  -EINVAL;	} found:	spin_unlock(&vino_drvdata->input_lock);	return err;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a637a114f36b94a1ad8b9867f43bac0414958420/vino.c/buggy/drivers/media/video/vino.c