diff options
author | Ursula Braun <braunu@de.ibm.com> | 2008-04-17 01:46:03 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2008-04-17 01:46:58 -0400 |
commit | 35b58b028dfc99dd390a09f66945947c4945fa64 (patch) | |
tree | e4199f925608e366448b24880e081bd129a08e77 /drivers/s390 | |
parent | d1e23375bf5d1079cd54a1c6bc8592c42061f1e1 (diff) |
[S390] qdio: Unrecognized inbound traffic if many FCP devices are online
Problem:
Usually every FCP device has its own indicator field the adapter
uses to signal outstanding work. Once a certain limit of devices
is reached, a common indicator field is used. In certain scenarios
qdio resets this common indicator field, but handles only part of
the FCP-devices sharing the common indicator field. Thus inbound
traffic on the non-processed shared FCP-devices is not recognized
immediately.
Solution:
Make sure common indicator field is reset only, if all FCP-devices
sharing the indicator are processed.
Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/cio/qdio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index 2b5bfb7c69e5..b1d18aa471c9 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c | |||
@@ -1399,7 +1399,7 @@ __tiqdio_inbound_processing(struct qdio_q *q, int spare_ind_was_set) | |||
1399 | * q->dev_st_chg_ind is the indicator, be it shared or not. | 1399 | * q->dev_st_chg_ind is the indicator, be it shared or not. |
1400 | * only clear it, if indicator is non-shared | 1400 | * only clear it, if indicator is non-shared |
1401 | */ | 1401 | */ |
1402 | if (!spare_ind_was_set) | 1402 | if (q->dev_st_chg_ind != &spare_indicator) |
1403 | tiqdio_clear_summary_bit((__u32*)q->dev_st_chg_ind); | 1403 | tiqdio_clear_summary_bit((__u32*)q->dev_st_chg_ind); |
1404 | 1404 | ||
1405 | if (q->hydra_gives_outbound_pcis) { | 1405 | if (q->hydra_gives_outbound_pcis) { |