assert(0);
BUG_ON(1);
static void close_conn(struct iscsi_conn *conn){	struct iscsi_session *session = conn->session;	struct iscsi_cmnd *cmnd;	assert(conn);	conn->sock->ops->shutdown(conn->sock, 2);	write_lock(&conn->sock->sk->sk_callback_lock);	conn->sock->sk->sk_state_change = session->target->nthread_info.old_state_change;	conn->sock->sk->sk_data_ready = session->target->nthread_info.old_data_ready;	write_unlock(&conn->sock->sk->sk_callback_lock);	fput(conn->file);	conn->file = NULL;	conn->sock = NULL;	while (atomic_read(&conn->nr_busy_cmnds))		yield();	while (!list_empty(&conn->pdu_list)) {		cmnd = list_entry(conn->pdu_list.next, struct iscsi_cmnd, conn_list);		list_del_init(&cmnd->list);		cmnd_release(cmnd, 1);	}	if (atomic_read(&conn->nr_cmnds)) {		eprintk("%u\n", atomic_read(&conn->nr_cmnds));		list_for_each_entry(cmnd, &conn->pdu_list, conn_list)			eprintk("%x %x\n", cmnd_opcode(cmnd), cmnd_itt(cmnd));		assert(0);	}	eprintk("%d %llu %u\n", session->target->tid, session->sid, conn->cid);	event_send(session->target->tt, session->target->tid,		   session->sid, conn->cid, E_CONN_CLOSE);	conn_free(conn);	if (list_empty(&session->conn_list))		session_del(session->target, session->sid);}