Loading drivers/net/sfc/efx.c +10 −13 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading @@ -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; * most of the work of monitor() anyway. */ if (mutex_trylock(&efx->mac_lock)) { if (efx->port_enabled) efx->type->monitor(efx); out_unlock: mutex_unlock(&efx->mac_lock); out_requeue: } queue_delayed_work(efx->workqueue, &efx->monitor_work, efx_monitor_interval); } Loading Loading
drivers/net/sfc/efx.c +10 −13 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading @@ -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; * most of the work of monitor() anyway. */ if (mutex_trylock(&efx->mac_lock)) { if (efx->port_enabled) efx->type->monitor(efx); out_unlock: mutex_unlock(&efx->mac_lock); out_requeue: } queue_delayed_work(efx->workqueue, &efx->monitor_work, efx_monitor_interval); } Loading