From 86e80049f3578b0bb90d8d4c3f9a1d6f8e360e3f Mon Sep 17 00:00:00 2001 From: Brian King Date: Thu, 29 Mar 2007 12:43:09 -0500 Subject: [PATCH] --- yaml --- r: 53685 b: refs/heads/master c: b0692dd4d7e90ce5cf1241731c6e80118402e3b4 h: refs/heads/master i: 53683: ed00cddf393fd655326cdccf5275c1cd1419a7b8 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/ipr.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index e1261a8eab55..be33c3d5f12d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cc9bd5d4256ecc1b6e0448febb4be29db1a91256 +refs/heads/master: b0692dd4d7e90ce5cf1241731c6e80118402e3b4 diff --git a/trunk/drivers/scsi/ipr.c b/trunk/drivers/scsi/ipr.c index 5b6ffe18bc7d..44ce9f5218a8 100644 --- a/trunk/drivers/scsi/ipr.c +++ b/trunk/drivers/scsi/ipr.c @@ -4453,12 +4453,13 @@ static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg, { int i; u16 data_len; - u32 ioasc; + u32 ioasc, fd_ioasc; struct ipr_ioasa *ioasa = &ipr_cmd->ioasa; __be32 *ioasa_data = (__be32 *)ioasa; int error_index; ioasc = be32_to_cpu(ioasa->ioasc) & IPR_IOASC_IOASC_MASK; + fd_ioasc = be32_to_cpu(ioasa->fd_ioasc) & IPR_IOASC_IOASC_MASK; if (0 == ioasc) return; @@ -4466,7 +4467,10 @@ static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg, if (ioa_cfg->log_level < IPR_DEFAULT_LOG_LEVEL) return; - error_index = ipr_get_error(ioasc); + if (ioasc == IPR_IOASC_BUS_WAS_RESET && fd_ioasc) + error_index = ipr_get_error(fd_ioasc); + else + error_index = ipr_get_error(ioasc); if (ioa_cfg->log_level < IPR_MAX_LOG_LEVEL) { /* Don't log an error if the IOA already logged one */