]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: hibmcge: fix rx buf avl irq is not re-enabled in irq_handle issue
authorJijie Shao <shaojijie@huawei.com>
Sat, 25 Oct 2025 01:46:40 +0000 (09:46 +0800)
committerJakub Kicinski <kuba@kernel.org>
Wed, 29 Oct 2025 02:11:04 +0000 (19:11 -0700)
irq initialized with the macro HBG_ERR_IRQ_I will automatically
be re-enabled, whereas those initialized with the macro HBG_IRQ_I
will not be re-enabled.

Since the rx buf avl irq is initialized using the macro HBG_IRQ_I,
it needs to be actively re-enabled;
otherwise priv->stats.rx_fifo_less_empty_thrsld_cnt cannot be
correctly incremented.

Fixes: fd394a334b1c ("net: hibmcge: Add support for abnormal irq handling feature")
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20251025014642.265259-2-shaojijie@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c

index 8af0bc4cca21664bbfa34ab7483a534d305855b9..ae4cb35186d884ecefda2d20968e74ea9e8a48fc 100644 (file)
@@ -32,6 +32,7 @@ static void hbg_irq_handle_rx_buf_val(struct hbg_priv *priv,
                                      const struct hbg_irq_info *irq_info)
 {
        priv->stats.rx_fifo_less_empty_thrsld_cnt++;
+       hbg_hw_irq_enable(priv, irq_info->mask, true);
 }
 
 #define HBG_IRQ_I(name, handle) \