aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxgb3i/cxgb3i_offload.h
diff options
context:
space:
mode:
authorKaren Xie <kxie@chelsio.com>2009-04-01 14:11:26 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-04-03 10:23:12 -0400
commit2a90030fcb827afa16914e57ac587e683280ae4a (patch)
tree269dafd0da1fc251c16341c6943095b637e148ec /drivers/scsi/cxgb3i/cxgb3i_offload.h
parented6f7744f90a0efc6874f2ab93e4e593741079c9 (diff)
[SCSI] cxgb3i: close all tcp connections upon chip reset
Keep track of offloaded tcp connections per adapter. Close all of the connections upon reset. Signed-off-by: Karen Xie <kxie@chelsio.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/cxgb3i/cxgb3i_offload.h')
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_offload.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.h b/drivers/scsi/cxgb3i/cxgb3i_offload.h
index 275f23f16eb7..dab759d67bec 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_offload.h
+++ b/drivers/scsi/cxgb3i/cxgb3i_offload.h
@@ -135,11 +135,11 @@ enum c3cn_flags {
135 C3CN_ABORT_RPL_PENDING, /* expecting an abort reply */ 135 C3CN_ABORT_RPL_PENDING, /* expecting an abort reply */
136 C3CN_TX_DATA_SENT, /* already sent a TX_DATA WR */ 136 C3CN_TX_DATA_SENT, /* already sent a TX_DATA WR */
137 C3CN_ACTIVE_CLOSE_NEEDED, /* need to be closed */ 137 C3CN_ACTIVE_CLOSE_NEEDED, /* need to be closed */
138 C3CN_OFFLOAD_DOWN /* offload function off */
138}; 139};
139 140
140/** 141/**
141 * cxgb3i_sdev_data - Per adapter data. 142 * cxgb3i_sdev_data - Per adapter data.
142 *
143 * Linked off of each Ethernet device port on the adapter. 143 * Linked off of each Ethernet device port on the adapter.
144 * Also available via the t3cdev structure since we have pointers to our port 144 * Also available via the t3cdev structure since we have pointers to our port
145 * net_device's there ... 145 * net_device's there ...
@@ -148,16 +148,17 @@ enum c3cn_flags {
148 * @cdev: t3cdev adapter 148 * @cdev: t3cdev adapter
149 * @client: CPL client pointer 149 * @client: CPL client pointer
150 * @ports: array of adapter ports 150 * @ports: array of adapter ports
151 * @sport_map_next: next index into the port map 151 * @sport_next: next port
152 * @sport_map: source port map 152 * @sport_conn: source port connection
153 */ 153 */
154struct cxgb3i_sdev_data { 154struct cxgb3i_sdev_data {
155 struct list_head list; 155 struct list_head list;
156 struct t3cdev *cdev; 156 struct t3cdev *cdev;
157 struct cxgb3_client *client; 157 struct cxgb3_client *client;
158 struct adap_ports ports; 158 struct adap_ports ports;
159 unsigned int sport_map_next; 159 spinlock_t lock;
160 unsigned long sport_map[0]; 160 unsigned int sport_next;
161 struct s3_conn *sport_conn[0];
161}; 162};
162#define NDEV2CDATA(ndev) (*(struct cxgb3i_sdev_data **)&(ndev)->ec_ptr) 163#define NDEV2CDATA(ndev) (*(struct cxgb3i_sdev_data **)&(ndev)->ec_ptr)
163#define CXGB3_SDEV_DATA(cdev) NDEV2CDATA((cdev)->lldev) 164#define CXGB3_SDEV_DATA(cdev) NDEV2CDATA((cdev)->lldev)