iscsi_tcp.c (62910554656cdcd6b6f84a5154c4155aae4ca231) iscsi_tcp.c (aa395145165cb06a0d0885221bbe0ce4a564391d)
1/*
2 * iSCSI Initiator over TCP/IP Data-Path
3 *
4 * Copyright (C) 2004 Dmitry Yusupov
5 * Copyright (C) 2004 Alex Aizman
6 * Copyright (C) 2005 - 2006 Mike Christie
7 * Copyright (C) 2006 Red Hat, Inc. All rights reserved.
8 * maintained by open-iscsi@googlegroups.com

--- 585 unchanged lines hidden (view full) ---

594 * Make sure our recv side is stopped.
595 * Older tools called conn stop before ep_disconnect
596 * so IO could still be coming in.
597 */
598 write_lock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock);
599 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
600 write_unlock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock);
601
1/*
2 * iSCSI Initiator over TCP/IP Data-Path
3 *
4 * Copyright (C) 2004 Dmitry Yusupov
5 * Copyright (C) 2004 Alex Aizman
6 * Copyright (C) 2005 - 2006 Mike Christie
7 * Copyright (C) 2006 Red Hat, Inc. All rights reserved.
8 * maintained by open-iscsi@googlegroups.com

--- 585 unchanged lines hidden (view full) ---

594 * Make sure our recv side is stopped.
595 * Older tools called conn stop before ep_disconnect
596 * so IO could still be coming in.
597 */
598 write_lock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock);
599 set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx);
600 write_unlock_bh(&tcp_sw_conn->sock->sk->sk_callback_lock);
601
602 if (sock->sk->sk_sleep && waitqueue_active(sock->sk->sk_sleep)) {
602 if (sk_sleep(sock->sk) && waitqueue_active(sk_sleep(sock->sk))) {
603 sock->sk->sk_err = EIO;
603 sock->sk->sk_err = EIO;
604 wake_up_interruptible(sock->sk->sk_sleep);
604 wake_up_interruptible(sk_sleep(sock->sk));
605 }
606
607 iscsi_conn_stop(cls_conn, flag);
608 iscsi_sw_tcp_release_conn(conn);
609}
610
611static int iscsi_sw_tcp_get_addr(struct iscsi_conn *conn, struct socket *sock,
612 char *buf, int *port,

--- 359 unchanged lines hidden ---
605 }
606
607 iscsi_conn_stop(cls_conn, flag);
608 iscsi_sw_tcp_release_conn(conn);
609}
610
611static int iscsi_sw_tcp_get_addr(struct iscsi_conn *conn, struct socket *sock,
612 char *buf, int *port,

--- 359 unchanged lines hidden ---