diff options
author | malahal@us.ibm.com <malahal@us.ibm.com> | 2006-10-04 20:28:37 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-11-09 00:27:48 -0500 |
commit | 3f048109d9c4f8bb028ccb0d256ab65eb44f5988 (patch) | |
tree | 4a37dcbda611cf7e67f1dc27bc1843a17ac4c3e2 /drivers/scsi/aic94xx/aic94xx_hwi.h | |
parent | 088406bcf66d6c7fd8a5c04c00aa410ae9077403 (diff) |
[SCSI] aic94xx SCSI timeout fix
The patch updates DDB0 in the aic94xx driver itself. It doesn't supply
or use lldd_port_formed field. DDB0 is updated prior to posting
notification to libsas layer.
Signed-off-by: Malahal Naineni <malahal@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic94xx/aic94xx_hwi.h')
-rw-r--r-- | drivers/scsi/aic94xx/aic94xx_hwi.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.h b/drivers/scsi/aic94xx/aic94xx_hwi.h index 7b6aca02cf70..c6c3d18222fa 100644 --- a/drivers/scsi/aic94xx/aic94xx_hwi.h +++ b/drivers/scsi/aic94xx/aic94xx_hwi.h | |||
@@ -193,6 +193,16 @@ struct asd_seq_data { | |||
193 | struct asd_ascb **escb_arr; /* array of pointers to escbs */ | 193 | struct asd_ascb **escb_arr; /* array of pointers to escbs */ |
194 | }; | 194 | }; |
195 | 195 | ||
196 | /* This is an internal port structure. These are used to get accurate | ||
197 | * phy_mask for updating DDB 0. | ||
198 | */ | ||
199 | struct asd_port { | ||
200 | u8 sas_addr[SAS_ADDR_SIZE]; | ||
201 | u8 attached_sas_addr[SAS_ADDR_SIZE]; | ||
202 | u32 phy_mask; | ||
203 | int num_phys; | ||
204 | }; | ||
205 | |||
196 | /* This is the Host Adapter structure. It describes the hardware | 206 | /* This is the Host Adapter structure. It describes the hardware |
197 | * SAS adapter. | 207 | * SAS adapter. |
198 | */ | 208 | */ |
@@ -211,6 +221,8 @@ struct asd_ha_struct { | |||
211 | struct hw_profile hw_prof; | 221 | struct hw_profile hw_prof; |
212 | 222 | ||
213 | struct asd_phy phys[ASD_MAX_PHYS]; | 223 | struct asd_phy phys[ASD_MAX_PHYS]; |
224 | spinlock_t asd_ports_lock; | ||
225 | struct asd_port asd_ports[ASD_MAX_PHYS]; | ||
214 | struct asd_sas_port ports[ASD_MAX_PHYS]; | 226 | struct asd_sas_port ports[ASD_MAX_PHYS]; |
215 | 227 | ||
216 | struct dma_pool *scb_pool; | 228 | struct dma_pool *scb_pool; |