aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic79xx_proc.c
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@steeleye.com>2005-08-03 13:25:10 -0500
committerJames Bottomley <jejb@mulgrave.(none)>2005-08-03 13:36:52 -0500
commit3f40d7d6eaadecd48f6d1c0c4a5ad414b992260e (patch)
tree0728df045096f3afb750e95b772b3dbb391b0e8d /drivers/scsi/aic7xxx/aic79xx_proc.c
parent[SCSI] aic79xx: DV parameter settings (diff)
downloadlinux-dev-3f40d7d6eaadecd48f6d1c0c4a5ad414b992260e.tar.xz
linux-dev-3f40d7d6eaadecd48f6d1c0c4a5ad414b992260e.zip
[SCSI] aic79xx: fix up transport settings
There's a slight problem in the way you've done the transport parameters; reading from the variables actually produces the current settings, not the ones you just set (and there's usually a lag because devices don't renegotiate until the next command goes over the bus). If you set the bit immediately, you get into the situation where the transport parameters report something as being set even if the drive cannot support it. I patched the driver to do it this way and also corrected a panic in the proc routines. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic79xx_proc.c')
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_proc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/aic7xxx/aic79xx_proc.c b/drivers/scsi/aic7xxx/aic79xx_proc.c
index 2058aa9b5c80..cffdd104f9e4 100644
--- a/drivers/scsi/aic7xxx/aic79xx_proc.c
+++ b/drivers/scsi/aic7xxx/aic79xx_proc.c
@@ -178,9 +178,9 @@ ahd_dump_target_state(struct ahd_softc *ahd, struct info_str *info,
copy_info(info, "\tUser: ");
ahd_format_transinfo(info, &tinfo->user);
starget = ahd->platform_data->starget[target_offset];
- targ = scsi_transport_target_data(starget);
- if (targ == NULL)
+ if (starget == NULL)
return;
+ targ = scsi_transport_target_data(starget);
copy_info(info, "\tGoal: ");
ahd_format_transinfo(info, &tinfo->goal);