static spinlock_t lock; 
static spinlock_t lock = SPIN_LOCK_UNLOCKED; 
static int i2o_msg_post_wait_complete(struct i2o_controller *c, u32 m,				      struct i2o_message __iomem *msg){	struct i2o_exec_wait *wait, *tmp;	static spinlock_t lock;	int rc = 1;	u32 context;	spin_lock_init(&lock);	context = readl(&msg->u.s.tcntxt);	/*	 * We need to search through the i2o_exec_wait_list to see if the given	 * message is still outstanding. If not, it means that the IOP took	 * longer to respond to the message than we had allowed and timer has	 * already expired. Not much we can do about that except log it for	 * debug purposes, increase timeout, and recompile.	 */	spin_lock(&lock);	list_for_each_entry_safe(wait, tmp, &i2o_exec_wait_list, list) {		if (wait->tcntxt == context) {			list_del(&wait->list);			wait->m = m;			wait->msg = msg;			wait->complete = 1;			barrier();			if (wait->wq) {				wake_up_interruptible(wait->wq);				rc = 0;			} else {				struct device *dev;				dev = &c->pdev->dev;				pr_debug("%s: timedout reply received!\n",					 c->name);				i2o_dma_free(dev, &wait->dma);				i2o_exec_wait_free(wait);				rc = -1;			}			spin_unlock(&lock);			return rc;		}	}	spin_unlock(&lock);	pr_debug("%s: Bogus reply in POST WAIT (tr-context: %08x)!\n", c->name,		 context);	return -1;};
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/61fbfa8129c1771061a0e9f47747854293081c5b/exec-osm.c/buggy/drivers/message/i2o/exec-osm.c