if (ses) { set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(HZ / 2); } 
if (ses) schedule_timeout_interruptible(msecs_to_jiffies(500)); 
cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb){	int rc = 0;	int xid;	struct cifsSesInfo *ses = NULL;	struct task_struct *cifsd_task;	xid = GetXid();	if (cifs_sb->tcon) {		ses = cifs_sb->tcon->ses; /* save ptr to ses before delete tcon!*/		rc = CIFSSMBTDis(xid, cifs_sb->tcon);		if (rc == -EBUSY) {			FreeXid(xid);			return 0;		}		tconInfoFree(cifs_sb->tcon);		if ((ses) && (ses->server)) {			/* save off task so we do not refer to ses later */			cifsd_task = ses->server->tsk;			cFYI(1, ("About to do SMBLogoff "));			rc = CIFSSMBLogoff(xid, ses);			if (rc == -EBUSY) {				FreeXid(xid);				return 0;			} else if (rc == -ESHUTDOWN) {				cFYI(1,("Waking up socket by sending it signal"));				if(cifsd_task)					send_sig(SIGKILL,cifsd_task,1);				rc = 0;			} /* else - we have an smb session				left on this socket do not kill cifsd */		} else			cFYI(1, ("No session or bad tcon"));	}		cifs_sb->tcon = NULL;	if (ses) {		set_current_state(TASK_INTERRUPTIBLE);		schedule_timeout(HZ / 2);	}	if (ses)		sesInfoFree(ses);	FreeXid(xid);	return rc;		/* BB check if we should always return zero here */} 
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/041e0e3b1970c508dc9a95b7dd9dc86271a7d7ac/connect.c/clean/fs/cifs/connect.c