From: Anatoly Burakov <anatoly.burakov@intel.com>
To: dev@dpdk.org
Cc: stable@dpdk.org
Subject: [PATCH v1 01/42] net/e1000/base: fix semaphore timeout value
Date: Fri, 31 Jan 2025 12:58:14 +0000 [thread overview]
Message-ID: <ed25ea82e9bd3263a45753c31df20c0dfedd8ee6.1738328107.git.anatoly.burakov@intel.com> (raw)
In-Reply-To: <cover.1738328106.git.anatoly.burakov@intel.com>
From: Pawel Malinowski <pawel.malinowski@intel.com>
According to datasheet software ownership of SWSM.SWESMBI bit should not
exceed 100ms. Current implementation caused incorrect timeout counter
values, where each iteration equals 50us delay. Because of that driver was
allowed to wait for semaphore even for 1,5s. This might trigger DPC
timeout.
This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.
Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Pawel Malinowski <pawel.malinowski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
drivers/net/intel/e1000/base/e1000_defines.h | 1 +
drivers/net/intel/e1000/base/e1000_mac.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/intel/e1000/base/e1000_defines.h b/drivers/net/intel/e1000/base/e1000_defines.h
index 3fbb6c8ea4..97cc2797b2 100644
--- a/drivers/net/intel/e1000/base/e1000_defines.h
+++ b/drivers/net/intel/e1000/base/e1000_defines.h
@@ -504,6 +504,7 @@
/* SW Semaphore Register */
#define E1000_SWSM_SMBI 0x00000001 /* Driver Semaphore bit */
#define E1000_SWSM_SWESMBI 0x00000002 /* FW Semaphore bit */
+#define E1000_SWSM_TIMEOUT 2000 /* Driver Semaphore max timeout counter */
#define E1000_SWSM_DRV_LOAD 0x00000008 /* Driver Loaded Bit */
#define E1000_SWSM2_LOCK 0x00000002 /* Secondary driver semaphore bit */
diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
index d3b3a6bac9..cf0a9f21e1 100644
--- a/drivers/net/intel/e1000/base/e1000_mac.c
+++ b/drivers/net/intel/e1000/base/e1000_mac.c
@@ -1688,7 +1688,7 @@ s32 e1000_get_speed_and_duplex_fiber_serdes_generic(struct e1000_hw E1000_UNUSED
s32 e1000_get_hw_semaphore_generic(struct e1000_hw *hw)
{
u32 swsm;
- s32 timeout = hw->nvm.word_size + 1;
+ s32 timeout = E1000_SWSM_TIMEOUT;
s32 i = 0;
DEBUGFUNC("e1000_get_hw_semaphore_generic");
--
2.43.5
next parent reply other threads:[~2025-01-31 12:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1738328106.git.anatoly.burakov@intel.com>
2025-01-31 12:58 ` Anatoly Burakov [this message]
2025-01-31 12:58 ` [PATCH v1 14/42] net/e1000/base: correct mPHY access logic Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 34/42] net/e1000/base: fix iterator type Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 35/42] net/e1000/base: fix static analysis warnings Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 36/42] net/e1000/base: fix reset for 82580 Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 37/42] net/e1000/base: fix mac addr hash bit_shift Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 38/42] net/e1000/base: fix uninitialized variable usage Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 39/42] net/e1000/base: fix unchecked return Anatoly Burakov
2025-01-31 12:58 ` [PATCH v1 40/42] net/e1000/base: fix data type in MAC hash Anatoly Burakov
[not found] ` <cover.1738681725.git.anatoly.burakov@intel.com>
2025-02-04 15:10 ` [PATCH v2 25/54] net/e1000/base: fix semaphore timeout value Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 26/54] net/e1000/base: correct mPHY access logic Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 46/54] net/e1000/base: fix iterator type Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 47/54] net/e1000/base: fix static analysis warnings Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 48/54] net/e1000/base: fix reset for 82580 Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 49/54] net/e1000/base: fix mac addr hash bit_shift Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 50/54] net/e1000/base: fix uninitialized variable usage Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 51/54] net/e1000/base: fix unchecked return Anatoly Burakov
2025-02-04 15:10 ` [PATCH v2 52/54] net/e1000/base: fix data type in MAC hash Anatoly Burakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ed25ea82e9bd3263a45753c31df20c0dfedd8ee6.1738328107.git.anatoly.burakov@intel.com \
--to=anatoly.burakov@intel.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).