cxgb4i.c (54499b2a926964b6b671fd03dcdc83c444b8f467) | cxgb4i.c (ee7255ada313a6db99be47ce174b0bfb8295a041) |
---|---|
1/* 2 * cxgb4i.c: Chelsio T4 iSCSI driver. 3 * 4 * Copyright (c) 2010 Chelsio Communications, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation. --- 814 unchanged lines hidden (view full) --- 823 824 pr_info_ipaddr("tid %u/%u, status %u.\n" 825 "csk 0x%p,%u,0x%lx. ", (&csk->saddr), (&csk->daddr), 826 atid, tid, status, csk, csk->state, csk->flags); 827 828 if (status == CPL_ERR_RTX_NEG_ADVICE) 829 goto rel_skb; 830 | 1/* 2 * cxgb4i.c: Chelsio T4 iSCSI driver. 3 * 4 * Copyright (c) 2010 Chelsio Communications, Inc. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation. --- 814 unchanged lines hidden (view full) --- 823 824 pr_info_ipaddr("tid %u/%u, status %u.\n" 825 "csk 0x%p,%u,0x%lx. ", (&csk->saddr), (&csk->daddr), 826 atid, tid, status, csk, csk->state, csk->flags); 827 828 if (status == CPL_ERR_RTX_NEG_ADVICE) 829 goto rel_skb; 830 |
831 module_put(THIS_MODULE); 832 |
|
831 if (status && status != CPL_ERR_TCAM_FULL && 832 status != CPL_ERR_CONN_EXIST && 833 status != CPL_ERR_ARP_MISS) 834 cxgb4_remove_tid(lldi->tids, csk->port_id, GET_TID(rpl)); 835 836 cxgbi_sock_get(csk); 837 spin_lock_bh(&csk->lock); 838 --- 92 unchanged lines hidden (view full) --- 931 932 if (req->status == CPL_ERR_RTX_NEG_ADVICE || 933 req->status == CPL_ERR_PERSIST_NEG_ADVICE) 934 goto rel_skb; 935 936 cxgbi_sock_get(csk); 937 spin_lock_bh(&csk->lock); 938 | 833 if (status && status != CPL_ERR_TCAM_FULL && 834 status != CPL_ERR_CONN_EXIST && 835 status != CPL_ERR_ARP_MISS) 836 cxgb4_remove_tid(lldi->tids, csk->port_id, GET_TID(rpl)); 837 838 cxgbi_sock_get(csk); 839 spin_lock_bh(&csk->lock); 840 --- 92 unchanged lines hidden (view full) --- 933 934 if (req->status == CPL_ERR_RTX_NEG_ADVICE || 935 req->status == CPL_ERR_PERSIST_NEG_ADVICE) 936 goto rel_skb; 937 938 cxgbi_sock_get(csk); 939 spin_lock_bh(&csk->lock); 940 |
939 cxgbi_sock_clear_flag(csk, CTPF_ABORT_REQ_RCVD); 940 941 if (!cxgbi_sock_flag(csk, CTPF_TX_DATA_SENT)) { 942 send_tx_flowc_wr(csk); 943 cxgbi_sock_set_flag(csk, CTPF_TX_DATA_SENT); | 941 if (!cxgbi_sock_flag(csk, CTPF_ABORT_REQ_RCVD)) { 942 cxgbi_sock_set_flag(csk, CTPF_ABORT_REQ_RCVD); 943 cxgbi_sock_set_state(csk, CTP_ABORTING); 944 goto done; |
944 } 945 | 945 } 946 |
946 cxgbi_sock_set_flag(csk, CTPF_ABORT_REQ_RCVD); 947 cxgbi_sock_set_state(csk, CTP_ABORTING); 948 | 947 cxgbi_sock_clear_flag(csk, CTPF_ABORT_REQ_RCVD); |
949 send_abort_rpl(csk, rst_status); 950 951 if (!cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) { 952 csk->err = abort_status_to_errno(csk, req->status, &rst_status); 953 cxgbi_sock_closed(csk); 954 } | 948 send_abort_rpl(csk, rst_status); 949 950 if (!cxgbi_sock_flag(csk, CTPF_ABORT_RPL_PENDING)) { 951 csk->err = abort_status_to_errno(csk, req->status, &rst_status); 952 cxgbi_sock_closed(csk); 953 } |
955 | 954done: |
956 spin_unlock_bh(&csk->lock); 957 cxgbi_sock_put(csk); 958rel_skb: 959 __kfree_skb(skb); 960} 961 962static void do_abort_rpl_rss(struct cxgbi_device *cdev, struct sk_buff *skb) 963{ --- 840 unchanged lines hidden --- | 955 spin_unlock_bh(&csk->lock); 956 cxgbi_sock_put(csk); 957rel_skb: 958 __kfree_skb(skb); 959} 960 961static void do_abort_rpl_rss(struct cxgbi_device *cdev, struct sk_buff *skb) 962{ --- 840 unchanged lines hidden --- |