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 --- |