if (fpriv->hw_state[idx] != NULL) { kfree(fpriv->hw_state[idx]); fpriv->hw_state[idx] = NULL; } 
kfree(fpriv->hw_state[idx]); fpriv->hw_state[idx] = NULL; 
int ffb_driver_rmctx(struct inode *inode, struct file *filp, unsigned int cmd,		     unsigned long arg){	drm_ctx_t ctx;	drm_file_t *priv = filp->private_data;	drm_device_t *dev = priv->dev;	ffb_dev_priv_t *fpriv = (ffb_dev_priv_t *) dev->dev_private;	int idx;	if (copy_from_user(&ctx, (drm_ctx_t __user *) arg, sizeof(ctx)))		return -EFAULT;	DRM_DEBUG("%d\n", ctx.handle);	idx = ctx.handle - 1;	if (idx < 0 || idx >= FFB_MAX_CTXS)		return -EINVAL;	if (fpriv->hw_state[idx] != NULL) {		kfree(fpriv->hw_state[idx]);		fpriv->hw_state[idx] = NULL;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/735d5661d5c5f023a78fbe68e771e261040ff1b7/ffb_context.c/clean/drivers/char/drm/ffb_context.c