}else/* BB need to more gracefully handle the rare negative session
}else/* BB need to more gracefully handle the rare negative session
response case because response will be still outstanding */
response case because response will be still outstanding */
cERROR(1,("\nThere are still active MIDs in queue and we are exiting but we can not delete mid_q_entries or TCP_Server_Info structure due to pending requests MEMORY LEAK!!\n"));/* BB wake up waitors, and/or wait and/or free stale mids and try again? BB */
cERROR(1,("There are still active MIDs in queue and we are exiting but we can not delete mid_q_entries or TCP_Server_Info structure due to pending requests MEMORY LEAK!!"));/* BB wake up waitors, and/or wait and/or free stale mids and try again? BB */
/* BB Need to fix bug in error path above - perhaps wait until smb requests
/* BB Need to fix bug in error path above - perhaps wait until smb requests
time out and then free the tcp per server struct BB */
time out and then free the tcp per server struct BB */
read_unlock(&GlobalSMBSeslock);
read_unlock(&GlobalSMBSeslock);
cFYI(1,("About to exit from demultiplex thread"));
cFYI(1,("\nAbout to exit from demultiplex thread\n"));
("Error 0x%x or (%d decimal) on cifs_get_inode_info in lookup\n",
("Error 0x%x or (%d decimal) on cifs_get_inode_info in lookup",
rc,rc));
rc,rc));
/* BB special case check for Access Denied - watch security exposure of returning dir info implicitly via different rc if file exists or not but no access BB */
/* BB special case check for Access Denied - watch security exposure of returning dir info implicitly via different rc if file exists or not but no access BB */