summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings2013-05-01 17:30:17 +0200
committerBen Hutchings2013-08-29 19:12:11 +0200
commit15acb1cea5d9298eac511b80380183be624fa31c (patch)
tree981830689aeb7b058dcdf9814ad16047159cca8f
parentsfc: Allow efx_nic_type::dimension_resources to fail (diff)
downloadkernel-qcow2-linux-15acb1cea5d9298eac511b80380183be624fa31c.tar.gz
kernel-qcow2-linux-15acb1cea5d9298eac511b80380183be624fa31c.tar.xz
kernel-qcow2-linux-15acb1cea5d9298eac511b80380183be624fa31c.zip
sfc: Initialise IRQ moderation for all NIC types from efx_init_eventq()
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
-rw-r--r--drivers/net/ethernet/sfc/efx.c4
-rw-r--r--drivers/net/ethernet/sfc/farch.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
index 59aa73ccefed..aec62139420e 100644
--- a/drivers/net/ethernet/sfc/efx.c
+++ b/drivers/net/ethernet/sfc/efx.c
@@ -331,15 +331,17 @@ static int efx_probe_eventq(struct efx_channel *channel)
/* Prepare channel's event queue */
static int efx_init_eventq(struct efx_channel *channel)
{
+ struct efx_nic *efx = channel->efx;
int rc;
EFX_WARN_ON_PARANOID(channel->eventq_init);
- netif_dbg(channel->efx, drv, channel->efx->net_dev,
+ netif_dbg(efx, drv, efx->net_dev,
"chan %d init event queue\n", channel->channel);
rc = efx_nic_init_eventq(channel);
if (rc == 0) {
+ efx->type->push_irq_moderation(channel);
channel->eventq_read_ptr = 0;
channel->eventq_init = true;
}
diff --git a/drivers/net/ethernet/sfc/farch.c b/drivers/net/ethernet/sfc/farch.c
index 904af5c336b4..eb754cfff1ef 100644
--- a/drivers/net/ethernet/sfc/farch.c
+++ b/drivers/net/ethernet/sfc/farch.c
@@ -1357,8 +1357,6 @@ int efx_farch_ev_init(struct efx_channel *channel)
efx_writeo_table(efx, &reg, efx->type->evq_ptr_tbl_base,
channel->channel);
- efx->type->push_irq_moderation(channel);
-
return 0;
}