diff options
author | Alex Elder <elder@linaro.org> | 2023-02-15 13:53:47 -0600 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-02-20 08:14:20 +0100 |
commit | ecfa80ce3b8740d0760f44cbd9e60f446682b3fa (patch) | |
tree | b0d23f6b9234118294a1911ada90a2cf19c1eb98 /drivers/net/ipa/gsi.c | |
parent | 1c93e48cc39147723abdcadc251611f6f0c18dee (diff) | |
download | linux-ecfa80ce3b8740d0760f44cbd9e60f446682b3fa.tar.gz linux-ecfa80ce3b8740d0760f44cbd9e60f446682b3fa.tar.bz2 linux-ecfa80ce3b8740d0760f44cbd9e60f446682b3fa.zip |
net: ipa: fix an incorrect assignment
I spotted an error in a patch posted this week, unfortunately just
after it got accepted. The effect of the bug is that time-based
interrupt moderation is disabled. This is not technically a bug,
but it is not what is intended. The problem is that a |= assignment
got implemented as a simple assignment, so the previously assigned
value was ignored.
Fixes: edc6158b18af ("net: ipa: define fields for event-ring related registers")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/ipa/gsi.c')
-rw-r--r-- | drivers/net/ipa/gsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ipa/gsi.c b/drivers/net/ipa/gsi.c index f44d2d843de1..05ea2502201d 100644 --- a/drivers/net/ipa/gsi.c +++ b/drivers/net/ipa/gsi.c @@ -762,7 +762,7 @@ static void gsi_evt_ring_program(struct gsi *gsi, u32 evt_ring_id) /* Enable interrupt moderation by setting the moderation delay */ reg = gsi_reg(gsi, EV_CH_E_CNTXT_8); val = reg_encode(reg, EV_MODT, GSI_EVT_RING_INT_MODT); - val = reg_encode(reg, EV_MODC, 1); /* comes from channel */ + val |= reg_encode(reg, EV_MODC, 1); /* comes from channel */ /* EV_MOD_CNT is 0 (no counter-based interrupt coalescing) */ iowrite32(val, gsi->virt + reg_n_offset(reg, evt_ring_id)); |