[SCSI] ipr: Physical resource error logging macro
Adds a macro in the ipr driver for logging a physical device location. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
cfc321397e
commit
fa15b1f6be
2 changed files with 17 additions and 29 deletions
|
@ -968,13 +968,7 @@ static void ipr_log_config_error(struct ipr_ioa_cfg *ioa_cfg,
|
|||
for (i = 0; i < errors_logged; i++, dev_entry++) {
|
||||
ipr_err_separator;
|
||||
|
||||
if (dev_entry->dev_res_addr.bus >= IPR_MAX_NUM_BUSES) {
|
||||
ipr_err("Device %d: missing\n", i + 1);
|
||||
} else {
|
||||
ipr_err("Device %d: %d:%d:%d:%d\n", i + 1,
|
||||
ioa_cfg->host->host_no, dev_entry->dev_res_addr.bus,
|
||||
dev_entry->dev_res_addr.target, dev_entry->dev_res_addr.lun);
|
||||
}
|
||||
ipr_phys_res_err(ioa_cfg, dev_entry->dev_res_addr, "Device %d", i + 1);
|
||||
ipr_log_vpd(&dev_entry->vpd);
|
||||
|
||||
ipr_err("-----New Device Information-----\n");
|
||||
|
@ -1030,33 +1024,16 @@ static void ipr_log_array_error(struct ipr_ioa_cfg *ioa_cfg,
|
|||
if (!memcmp(array_entry->vpd.sn, zero_sn, IPR_SERIAL_NUM_LEN))
|
||||
continue;
|
||||
|
||||
if (be32_to_cpu(error->exposed_mode_adn) == i) {
|
||||
if (be32_to_cpu(error->exposed_mode_adn) == i)
|
||||
ipr_err("Exposed Array Member %d:\n", i);
|
||||
} else {
|
||||
else
|
||||
ipr_err("Array Member %d:\n", i);
|
||||
}
|
||||
|
||||
ipr_log_vpd(&array_entry->vpd);
|
||||
|
||||
if (array_entry->dev_res_addr.bus >= IPR_MAX_NUM_BUSES) {
|
||||
ipr_err("Current Location: unknown\n");
|
||||
} else {
|
||||
ipr_err("Current Location: %d:%d:%d:%d\n",
|
||||
ioa_cfg->host->host_no,
|
||||
array_entry->dev_res_addr.bus,
|
||||
array_entry->dev_res_addr.target,
|
||||
array_entry->dev_res_addr.lun);
|
||||
}
|
||||
|
||||
if (array_entry->expected_dev_res_addr.bus >= IPR_MAX_NUM_BUSES) {
|
||||
ipr_err("Expected Location: unknown\n");
|
||||
} else {
|
||||
ipr_err("Expected Location: %d:%d:%d:%d\n",
|
||||
ioa_cfg->host->host_no,
|
||||
array_entry->expected_dev_res_addr.bus,
|
||||
array_entry->expected_dev_res_addr.target,
|
||||
array_entry->expected_dev_res_addr.lun);
|
||||
}
|
||||
ipr_phys_res_err(ioa_cfg, array_entry->dev_res_addr, "Current Location");
|
||||
ipr_phys_res_err(ioa_cfg, array_entry->expected_dev_res_addr,
|
||||
"Expected Location");
|
||||
|
||||
ipr_err_separator;
|
||||
|
||||
|
|
|
@ -1123,6 +1123,17 @@ struct ipr_ucode_image_header {
|
|||
#define ipr_res_dbg(ioa_cfg, res, fmt, ...) \
|
||||
IPR_DBG_CMD(ipr_res_printk(KERN_INFO, ioa_cfg, res, fmt, ##__VA_ARGS__))
|
||||
|
||||
#define ipr_phys_res_err(ioa_cfg, res, fmt, ...) \
|
||||
{ \
|
||||
if ((res).bus >= IPR_MAX_NUM_BUSES) { \
|
||||
ipr_err(fmt": unknown\n", ##__VA_ARGS__); \
|
||||
} else { \
|
||||
ipr_err(fmt": %d:%d:%d:%d\n", \
|
||||
##__VA_ARGS__, (ioa_cfg)->host->host_no, \
|
||||
(res).bus, (res).target, (res).lun); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define ipr_trace ipr_dbg("%s: %s: Line: %d\n",\
|
||||
__FILE__, __FUNCTION__, __LINE__)
|
||||
|
||||
|
|
Loading…
Reference in a new issue