mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 16:44:10 +08:00
sfc: Clean up and correct comments on efx_monitor()
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
75abc51c29
commit
e254c274ae
@ -124,8 +124,9 @@ MODULE_PARM_DESC(separate_tx_channels,
|
||||
static int napi_weight = 64;
|
||||
|
||||
/* This is the time (in jiffies) between invocations of the hardware
|
||||
* monitor, which checks for known hardware bugs and resets the
|
||||
* hardware and driver as necessary.
|
||||
* monitor. On Falcon-based NICs, this will:
|
||||
* - Check the on-board hardware monitor;
|
||||
* - Poll the link state and reconfigure the hardware as necessary.
|
||||
*/
|
||||
unsigned int efx_monitor_interval = 1 * HZ;
|
||||
|
||||
@ -1545,8 +1546,7 @@ void efx_init_irq_moderation(struct efx_nic *efx, int tx_usecs, int rx_usecs,
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
/* Run periodically off the general workqueue. Serialised against
|
||||
* efx_reconfigure_port via the mac_lock */
|
||||
/* Run periodically off the general workqueue */
|
||||
static void efx_monitor(struct work_struct *data)
|
||||
{
|
||||
struct efx_nic *efx = container_of(data, struct efx_nic,
|
||||
@ -1559,16 +1559,13 @@ static void efx_monitor(struct work_struct *data)
|
||||
|
||||
/* If the mac_lock is already held then it is likely a port
|
||||
* reconfiguration is already in place, which will likely do
|
||||
* most of the work of check_hw() anyway. */
|
||||
if (!mutex_trylock(&efx->mac_lock))
|
||||
goto out_requeue;
|
||||
if (!efx->port_enabled)
|
||||
goto out_unlock;
|
||||
efx->type->monitor(efx);
|
||||
* most of the work of monitor() anyway. */
|
||||
if (mutex_trylock(&efx->mac_lock)) {
|
||||
if (efx->port_enabled)
|
||||
efx->type->monitor(efx);
|
||||
mutex_unlock(&efx->mac_lock);
|
||||
}
|
||||
|
||||
out_unlock:
|
||||
mutex_unlock(&efx->mac_lock);
|
||||
out_requeue:
|
||||
queue_delayed_work(efx->workqueue, &efx->monitor_work,
|
||||
efx_monitor_interval);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user