mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 20:23:57 +08:00
sfc: Fix polling for slow MCDI operations
When the interface is down and we are using polled mode for MCDI operations, we busy-wait for completion for approximately 1 jiffy using udelay() and then back off to schedule(). But the completion will not wake the task, since we are using polled mode! We must use schedule_timeout_uninterruptible() instead. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
baf86c9d36
commit
55029c1d65
@ -142,8 +142,9 @@ static int efx_mcdi_poll(struct efx_nic *efx)
|
||||
if (spins != 0) {
|
||||
--spins;
|
||||
udelay(1);
|
||||
} else
|
||||
schedule();
|
||||
} else {
|
||||
schedule_timeout_uninterruptible(1);
|
||||
}
|
||||
|
||||
time = get_seconds();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user