aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian King <brking@us.ibm.com>2006-03-29 10:37:29 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-04-13 11:13:28 -0400
commitfe964d0a4bfa7c25e75c53d81acbf53099777e9e (patch)
tree6e6a5685866f6c99aac1fbcbd30f5fa3d4ec0a87
parente4fbf44ed0618acce4a06010ed9fa9c02e06e36a (diff)
[SCSI] ipr: Simplify status area dumping
Simplify the dumping of the command status area by removing some device specific information that has proven to not be worthwhile. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/ipr.c39
1 files changed, 4 insertions, 35 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 20b6929cb4fe..dd5c96239e06 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -164,29 +164,6 @@ MODULE_PARM_DESC(auto_create, "Auto-create single device RAID 0 arrays when init
164MODULE_LICENSE("GPL"); 164MODULE_LICENSE("GPL");
165MODULE_VERSION(IPR_DRIVER_VERSION); 165MODULE_VERSION(IPR_DRIVER_VERSION);
166 166
167static const char *ipr_gpdd_dev_end_states[] = {
168 "Command complete",
169 "Terminated by host",
170 "Terminated by device reset",
171 "Terminated by bus reset",
172 "Unknown",
173 "Command not started"
174};
175
176static const char *ipr_gpdd_dev_bus_phases[] = {
177 "Bus free",
178 "Arbitration",
179 "Selection",
180 "Message out",
181 "Command",
182 "Message in",
183 "Data out",
184 "Data in",
185 "Status",
186 "Reselection",
187 "Unknown"
188};
189
190/* A constant array of IOASCs/URCs/Error Messages */ 167/* A constant array of IOASCs/URCs/Error Messages */
191static const 168static const
192struct ipr_error_table_t ipr_error_table[] = { 169struct ipr_error_table_t ipr_error_table[] = {
@@ -3938,6 +3915,7 @@ static void ipr_erp_cancel_all(struct ipr_cmnd *ipr_cmd)
3938 * ipr_dump_ioasa - Dump contents of IOASA 3915 * ipr_dump_ioasa - Dump contents of IOASA
3939 * @ioa_cfg: ioa config struct 3916 * @ioa_cfg: ioa config struct
3940 * @ipr_cmd: ipr command struct 3917 * @ipr_cmd: ipr command struct
3918 * @res: resource entry struct
3941 * 3919 *
3942 * This function is invoked by the interrupt handler when ops 3920 * This function is invoked by the interrupt handler when ops
3943 * fail. It will log the IOASA if appropriate. Only called 3921 * fail. It will log the IOASA if appropriate. Only called
@@ -3947,7 +3925,7 @@ static void ipr_erp_cancel_all(struct ipr_cmnd *ipr_cmd)
3947 * none 3925 * none
3948 **/ 3926 **/
3949static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg, 3927static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg,
3950 struct ipr_cmnd *ipr_cmd) 3928 struct ipr_cmnd *ipr_cmd, struct ipr_resource_entry *res)
3951{ 3929{
3952 int i; 3930 int i;
3953 u16 data_len; 3931 u16 data_len;
@@ -3975,16 +3953,7 @@ static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg,
3975 return; 3953 return;
3976 } 3954 }
3977 3955
3978 ipr_sdev_err(ipr_cmd->scsi_cmd->device, "%s\n", 3956 ipr_res_err(ioa_cfg, res, "%s\n", ipr_error_table[error_index].error);
3979 ipr_error_table[error_index].error);
3980
3981 if ((ioasa->u.gpdd.end_state <= ARRAY_SIZE(ipr_gpdd_dev_end_states)) &&
3982 (ioasa->u.gpdd.bus_phase <= ARRAY_SIZE(ipr_gpdd_dev_bus_phases))) {
3983 ipr_sdev_err(ipr_cmd->scsi_cmd->device,
3984 "Device End state: %s Phase: %s\n",
3985 ipr_gpdd_dev_end_states[ioasa->u.gpdd.end_state],
3986 ipr_gpdd_dev_bus_phases[ioasa->u.gpdd.bus_phase]);
3987 }
3988 3957
3989 if (sizeof(struct ipr_ioasa) < be16_to_cpu(ioasa->ret_stat_len)) 3958 if (sizeof(struct ipr_ioasa) < be16_to_cpu(ioasa->ret_stat_len))
3990 data_len = sizeof(struct ipr_ioasa); 3959 data_len = sizeof(struct ipr_ioasa);
@@ -4141,7 +4110,7 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
4141 } 4110 }
4142 4111
4143 if (ipr_is_gscsi(res)) 4112 if (ipr_is_gscsi(res))
4144 ipr_dump_ioasa(ioa_cfg, ipr_cmd); 4113 ipr_dump_ioasa(ioa_cfg, ipr_cmd, res);
4145 else 4114 else
4146 ipr_gen_sense(ipr_cmd); 4115 ipr_gen_sense(ipr_cmd);
4147 4116