fwohci.c (114142) | fwohci.c (114218) |
---|---|
1/* 2 * Copyright (c) 2003 Hidetoshi Shimokawa 3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 17 unchanged lines hidden (view full) --- 26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 * | 1/* 2 * Copyright (c) 2003 Hidetoshi Shimokawa 3 * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 17 unchanged lines hidden (view full) --- 26 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 27 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 30 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 * |
34 * $FreeBSD: head/sys/dev/firewire/fwohci.c 114142 2003-04-28 03:12:16Z simokawa $ | 34 * $FreeBSD: head/sys/dev/firewire/fwohci.c 114218 2003-04-29 14:05:17Z simokawa $ |
35 * 36 */ 37 38#define ATRQ_CH 0 39#define ATRS_CH 1 40#define ARRQ_CH 2 41#define ARRS_CH 3 42#define ITX_CH 4 --- 1037 unchanged lines hidden (view full) --- 1080 } 1081 if (tr->xfer != NULL) { 1082 xfer = tr->xfer; 1083 if (xfer->state == FWXF_RCVD) { 1084 if (firewire_debug) 1085 printf("already rcvd\n"); 1086 fw_xfer_done(xfer); 1087 } else { | 35 * 36 */ 37 38#define ATRQ_CH 0 39#define ATRS_CH 1 40#define ARRQ_CH 2 41#define ARRS_CH 3 42#define ITX_CH 4 --- 1037 unchanged lines hidden (view full) --- 1080 } 1081 if (tr->xfer != NULL) { 1082 xfer = tr->xfer; 1083 if (xfer->state == FWXF_RCVD) { 1084 if (firewire_debug) 1085 printf("already rcvd\n"); 1086 fw_xfer_done(xfer); 1087 } else { |
1088 xfer->state = FWXF_SENT; 1089 if (err == EBUSY && fc->status != FWBUSRESET) { 1090 xfer->state = FWXF_BUSY; 1091 xfer->resp = err; 1092 if (xfer->retry_req != NULL) 1093 xfer->retry_req(xfer); 1094 else | 1088 xfer->state = FWXF_SENT; 1089 if (err == EBUSY && fc->status != FWBUSRESET) { 1090 xfer->state = FWXF_BUSY; 1091 xfer->resp = err; 1092 if (xfer->retry_req != NULL) 1093 xfer->retry_req(xfer); 1094 else 1095 fw_xfer_done(xfer); 1096 } else if (stat != FWOHCIEV_ACKPEND) { 1097 if (stat != FWOHCIEV_ACKCOMPL) 1098 xfer->state = FWXF_SENTERR; 1099 xfer->resp = err; |
1095 fw_xfer_done(xfer); | 1100 fw_xfer_done(xfer); |
1096 } else if (stat != FWOHCIEV_ACKPEND) { 1097 if (stat != FWOHCIEV_ACKCOMPL) 1098 xfer->state = FWXF_SENTERR; 1099 xfer->resp = err; 1100 fw_xfer_done(xfer); | 1101 } |
1101 } | 1102 } |
1102 } | |
1103 /* 1104 * The watchdog timer takes care of split 1105 * transcation timeout for ACKPEND case. 1106 */ 1107 } else { 1108 printf("this shouldn't happen\n"); 1109 } 1110 dbch->xferq.queued --; --- 1737 unchanged lines hidden --- | 1103 /* 1104 * The watchdog timer takes care of split 1105 * transcation timeout for ACKPEND case. 1106 */ 1107 } else { 1108 printf("this shouldn't happen\n"); 1109 } 1110 dbch->xferq.queued --; --- 1737 unchanged lines hidden --- |