emlxs_pkt.c (a9800beb) emlxs_pkt.c (8f23e9fa)
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
8 * You can obtain a copy of the license at
9 * http://www.opensource.org/licenses/cddl1.txt.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22/*
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22/*
23 * Copyright 2010 Emulex. All rights reserved.
23 * Copyright (c) 2004-2011 Emulex. All rights reserved.
24 * Use is subject to license terms.
25 */
26
24 * Use is subject to license terms.
25 */
26
27
28#include <emlxs.h>
29
30/* Required for EMLXS_CONTEXT in EMLXS_MSGF calls */
31EMLXS_MSG_DEF(EMLXS_PKT_C);
32
33#if (EMLXS_MODREV >= EMLXS_MODREV3)
27#include <emlxs.h>
28
29/* Required for EMLXS_CONTEXT in EMLXS_MSGF calls */
30EMLXS_MSG_DEF(EMLXS_PKT_C);
31
32#if (EMLXS_MODREV >= EMLXS_MODREV3)
34typedef struct _emlxs_pkt_cookie_t
33typedef struct
35{
36 ddi_dma_cookie_t pkt_cmd_cookie;
37 ddi_dma_cookie_t pkt_resp_cookie;
38 ddi_dma_cookie_t pkt_data_cookie;
39
40} emlxs_pkt_cookie_t;
41#endif /* >= EMLXS_MODREV3 */
42

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

53 sbp = PKT2PRIV(pkt);
54 port = sbp->port;
55
56 /* Send the pkt now */
57 rval = emlxs_pkt_send(pkt, 1);
58
59 if (rval != FC_SUCCESS) {
60 EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_pkt_trans_msg,
34{
35 ddi_dma_cookie_t pkt_cmd_cookie;
36 ddi_dma_cookie_t pkt_resp_cookie;
37 ddi_dma_cookie_t pkt_data_cookie;
38
39} emlxs_pkt_cookie_t;
40#endif /* >= EMLXS_MODREV3 */
41

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

52 sbp = PKT2PRIV(pkt);
53 port = sbp->port;
54
55 /* Send the pkt now */
56 rval = emlxs_pkt_send(pkt, 1);
57
58 if (rval != FC_SUCCESS) {
59 EMLXS_MSGF(EMLXS_CONTEXT, &emlxs_pkt_trans_msg,
61 "Deferred emlxs_pkt_send failed: status=%x pkt=%p", rval,
60 "Deferred pkt_send failed: status=%x pkt=%p", rval,
62 pkt);
63
64 if (pkt->pkt_comp) {
65 emlxs_set_pkt_state(sbp, IOSTAT_LOCAL_REJECT, 0, 1);
66
67 ((CHANNEL *)sbp->channel)->ulpCmplCmd++;
68 (*pkt->pkt_comp) (pkt);
69 } else {

--- 355 unchanged lines hidden ---
61 pkt);
62
63 if (pkt->pkt_comp) {
64 emlxs_set_pkt_state(sbp, IOSTAT_LOCAL_REJECT, 0, 1);
65
66 ((CHANNEL *)sbp->channel)->ulpCmplCmd++;
67 (*pkt->pkt_comp) (pkt);
68 } else {

--- 355 unchanged lines hidden ---