[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>
This commit is contained in:
parent
d1e23375bf
commit
35b58b028d
|
@ -1399,7 +1399,7 @@ __tiqdio_inbound_processing(struct qdio_q *q, int spare_ind_was_set)
|
||||||
* q->dev_st_chg_ind is the indicator, be it shared or not.
|
* q->dev_st_chg_ind is the indicator, be it shared or not.
|
||||||
* only clear it, if indicator is non-shared
|
* only clear it, if indicator is non-shared
|
||||||
*/
|
*/
|
||||||
if (!spare_ind_was_set)
|
if (q->dev_st_chg_ind != &spare_indicator)
|
||||||
tiqdio_clear_summary_bit((__u32*)q->dev_st_chg_ind);
|
tiqdio_clear_summary_bit((__u32*)q->dev_st_chg_ind);
|
||||||
|
|
||||||
if (q->hydra_gives_outbound_pcis) {
|
if (q->hydra_gives_outbound_pcis) {
|
||||||
|
|
Loading…
Reference in New Issue