summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qed/qed.h
diff options
context:
space:
mode:
authorDenis Bolotin2019-04-14 16:23:07 +0200
committerDavid S. Miller2019-04-14 22:59:49 +0200
commitd4476b8a6151b2dd86c09b5acec64f66430db55d (patch)
treec034703ebfb6ce563eb9d9cb7a069421f9ae7a2a /drivers/net/ethernet/qlogic/qed/qed.h
parentqed: Fix the doorbell address sanity check (diff)
downloadkernel-qcow2-linux-d4476b8a6151b2dd86c09b5acec64f66430db55d.tar.gz
kernel-qcow2-linux-d4476b8a6151b2dd86c09b5acec64f66430db55d.tar.xz
kernel-qcow2-linux-d4476b8a6151b2dd86c09b5acec64f66430db55d.zip
qed: Fix missing DORQ attentions
When the DORQ (doorbell block) is overflowed, all PFs get attentions at the same time. If one PF finished handling the attention before another PF even started, the second PF might miss the DORQ's attention bit and not handle the attention at all. If the DORQ attention is missed and the issue is not resolved, another attention will not be sent, therefore each attention is treated as a potential DORQ attention. As a result, the attention callback is called more frequently so the debug print was moved to reduce its quantity. The number of periodic doorbell recovery handler schedules was reduced because it was the previous way to mitigating the missed attention issue. Signed-off-by: Denis Bolotin <dbolotin@marvell.com> Signed-off-by: Michal Kalderon <mkalderon@marvell.com> Signed-off-by: Ariel Elior <aelior@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed.h')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed.h b/drivers/net/ethernet/qlogic/qed/qed.h
index 1514ec93b989..fcc2d745c375 100644
--- a/drivers/net/ethernet/qlogic/qed/qed.h
+++ b/drivers/net/ethernet/qlogic/qed/qed.h
@@ -436,6 +436,7 @@ struct qed_db_recovery_info {
/* Lock to protect the doorbell recovery mechanism list */
spinlock_t lock;
+ bool dorq_attn;
u32 db_recovery_counter;
};