diff options
| author | Paolo Abeni <pabeni@redhat.com> | 2023-08-29 07:44:56 +0200 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2023-08-29 07:44:56 +0200 |
| commit | c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8 (patch) | |
| tree | 8db2b6a6ef0a08f6e9d78dde00bf44bf60d09d54 /drivers/net/ethernet/amd/pds_core/dev.c | |
| parent | 6c9cfb853063f317b2953c5e852b6bac1eb0cade (diff) | |
| parent | 90ca51e8c654699b672ba61aeaa418dfb3252e5e (diff) | |
| download | linux-c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8.tar.gz linux-c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8.tar.bz2 linux-c873512ef3a39cc1a605b7a5ff2ad0a33d619aa8.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge in late fixes to prepare for the 6.6 net-next PR.
No conflicts.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ethernet/amd/pds_core/dev.c')
| -rw-r--r-- | drivers/net/ethernet/amd/pds_core/dev.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/ethernet/amd/pds_core/dev.c b/drivers/net/ethernet/amd/pds_core/dev.c index debe5216fe29..f77cd9f5a2fd 100644 --- a/drivers/net/ethernet/amd/pds_core/dev.c +++ b/drivers/net/ethernet/amd/pds_core/dev.c @@ -121,7 +121,7 @@ static const char *pdsc_devcmd_str(int opcode) } } -static int pdsc_devcmd_wait(struct pdsc *pdsc, int max_seconds) +static int pdsc_devcmd_wait(struct pdsc *pdsc, u8 opcode, int max_seconds) { struct device *dev = pdsc->dev; unsigned long start_time; @@ -131,9 +131,6 @@ static int pdsc_devcmd_wait(struct pdsc *pdsc, int max_seconds) int done = 0; int err = 0; int status; - int opcode; - - opcode = ioread8(&pdsc->cmd_regs->cmd.opcode); start_time = jiffies; max_wait = start_time + (max_seconds * HZ); @@ -180,10 +177,10 @@ int pdsc_devcmd_locked(struct pdsc *pdsc, union pds_core_dev_cmd *cmd, memcpy_toio(&pdsc->cmd_regs->cmd, cmd, sizeof(*cmd)); pdsc_devcmd_dbell(pdsc); - err = pdsc_devcmd_wait(pdsc, max_seconds); + err = pdsc_devcmd_wait(pdsc, cmd->opcode, max_seconds); memcpy_fromio(comp, &pdsc->cmd_regs->comp, sizeof(*comp)); - if (err == -ENXIO || err == -ETIMEDOUT) + if ((err == -ENXIO || err == -ETIMEDOUT) && pdsc->wq) queue_work(pdsc->wq, &pdsc->health_work); return err; |
