From 25e295f6c32d55759e15bc32b853c2a78fef4f1a Mon Sep 17 00:00:00 2001 From: Swen Schillig Date: Wed, 2 Jul 2008 10:56:33 +0200 Subject: [PATCH] --- yaml --- r: 101567 b: refs/heads/master c: 7afe29f7dd6dccbe454d7fd6cd6a5a7f7bcbc530 h: refs/heads/master i: 101565: 3a48de3ae4b1869df012a8f2d48d13652d4b987f 101563: cfecab9c9022dc4391eb2afd99179fd49a20c737 101559: 4f3e355913ce2e2a88d855633bfebeed621fd36c 101551: da463fecea1d50eb74f79aa63e0558810355d72d 101535: ce83fabe1aa4d6a764b10e1a6a127a2dc0f55785 101503: f4cb2de2c1285a70f3af2bedf68e333ca8a9ebe0 v: v3 --- [refs] | 2 +- trunk/drivers/s390/scsi/zfcp_aux.c | 15 +++++++-------- trunk/drivers/s390/scsi/zfcp_def.h | 3 +-- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 446e58eb4dda..60c1c6eb60c8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3968ce800f45d8795ceb6f186c1efe420c98e1b0 +refs/heads/master: 7afe29f7dd6dccbe454d7fd6cd6a5a7f7bcbc530 diff --git a/trunk/drivers/s390/scsi/zfcp_aux.c b/trunk/drivers/s390/scsi/zfcp_aux.c index 2bd80fdcceff..bfcd1ba28ae1 100644 --- a/trunk/drivers/s390/scsi/zfcp_aux.c +++ b/trunk/drivers/s390/scsi/zfcp_aux.c @@ -550,15 +550,14 @@ static void zfcp_dummy_release(struct device *dev) int zfcp_status_read_refill(struct zfcp_adapter *adapter) { while (atomic_read(&adapter->stat_miss) > 0) - if (zfcp_fsf_status_read(adapter, ZFCP_WAIT_FOR_SBAL)) + if (zfcp_fsf_status_read(adapter, ZFCP_WAIT_FOR_SBAL)) { + if (atomic_read(&adapter->stat_miss) >= 16) { + zfcp_erp_adapter_reopen(adapter, 0, 103, NULL); + return 1; + } break; - else - atomic_dec(&adapter->stat_miss); - - if (ZFCP_STATUS_READS_RECOM <= atomic_read(&adapter->stat_miss)) { - zfcp_erp_adapter_reopen(adapter, 0, 103, NULL); - return 1; - } + } else + atomic_dec(&adapter->stat_miss); return 0; } diff --git a/trunk/drivers/s390/scsi/zfcp_def.h b/trunk/drivers/s390/scsi/zfcp_def.h index 1e837d46ea74..202f7e66c446 100644 --- a/trunk/drivers/s390/scsi/zfcp_def.h +++ b/trunk/drivers/s390/scsi/zfcp_def.h @@ -108,7 +108,6 @@ zfcp_address_to_sg(void *address, struct scatterlist *list, unsigned int size) #define ZFCP_QTCB_VERSION FSF_QTCB_CURRENT_VERSION /* ATTENTION: value must not be used by hardware */ #define FSF_QTCB_UNSOLICITED_STATUS 0x6305 -#define ZFCP_STATUS_READS_RECOM FSF_STATUS_READS_RECOM /* Do 1st retry in 1 second, then double the timeout for each following retry */ #define ZFCP_EXCHANGE_CONFIG_DATA_FIRST_SLEEP 1 @@ -743,7 +742,7 @@ struct zfcp_data { #define ZFCP_POOL_FSF_REQ_ERP_NR 1 #define ZFCP_POOL_FSF_REQ_SCSI_NR 1 #define ZFCP_POOL_FSF_REQ_ABORT_NR 1 -#define ZFCP_POOL_STATUS_READ_NR ZFCP_STATUS_READS_RECOM +#define ZFCP_POOL_STATUS_READ_NR FSF_STATUS_READS_RECOM #define ZFCP_POOL_DATA_GID_PN_NR 1 /* struct used by memory pools for fsf_requests */