]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: replace BUG_ON/BUG with WARN_ON/WARN_ON
authorRosen Penev <rosenp@gmail.com>
Sat, 20 Jun 2026 20:19:44 +0000 (13:19 -0700)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Mon, 22 Jun 2026 09:06:46 +0000 (11:06 +0200)
BUG() and BUG_ON() are deprecated - they destabilize the system
and make debugging impossible. Replace with:
- WARN_ON() + return error for assertion failures
- WARN_ON_ONCE() for bounds checks
- WARN_ON() + return -EPERM for in_interrupt() guards

Assisted-by: Opencode:Big-Pickle
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23892
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
target/linux/generic/files/drivers/net/phy/ar8216.c
target/linux/generic/files/drivers/net/phy/rtl8306.c
target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
target/linux/generic/files/drivers/net/phy/swconfig.c

index 71bf0bf04d260a3ea74ba6aedca5d0a245052e52..1f47c35753f4b9f1cb1c17827c41506615850352 100644 (file)
@@ -2315,7 +2315,8 @@ ar8xxx_mib_init(struct ar8xxx_priv *priv)
        if (!ar8xxx_has_mib_counters(priv))
                return 0;
 
-       BUG_ON(!priv->chip->mib_decs || !priv->chip->num_mibs);
+       if (WARN_ON(!priv->chip->mib_decs || !priv->chip->num_mibs))
+               return -EINVAL;
 
        len = priv->dev.ports * priv->chip->num_mibs *
              sizeof(*priv->mib_stats);
index a4b26642e269c0b1f5a523b4d78437a2672f8e59..5ddb874bf8517475eda53571948d02a84f391c02 100644 (file)
@@ -266,7 +266,8 @@ rtl_set_page(struct rtl_priv *priv, unsigned int page)
        if (priv->page == page)
                return;
 
-       BUG_ON(page > RTL8306_NUM_PAGES);
+       if (WARN_ON_ONCE(page > RTL8306_NUM_PAGES))
+               return;
        pgsel = bus->read(bus, 0, RTL8306_REG_PAGE);
        pgsel &= ~(RTL8306_REG_PAGE_LO | RTL8306_REG_PAGE_HI);
        if (page & (1 << 0))
@@ -320,7 +321,8 @@ rtl_get(struct switch_dev *dev, enum rtl_regidx s)
        const struct rtl_reg *r = &rtl_regs[s];
        u16 val;
 
-       BUG_ON(s >= ARRAY_SIZE(rtl_regs));
+       if (WARN_ON_ONCE(s >= ARRAY_SIZE(rtl_regs)))
+               return 0;
        if (r->bits == 0) /* unimplemented */
                return 0;
 
@@ -343,7 +345,8 @@ rtl_set(struct switch_dev *dev, enum rtl_regidx s, unsigned int val)
        const struct rtl_reg *r = &rtl_regs[s];
        u16 mask = 0xffff;
 
-       BUG_ON(s >= ARRAY_SIZE(rtl_regs));
+       if (WARN_ON_ONCE(s >= ARRAY_SIZE(rtl_regs)))
+               return -EINVAL;
 
        if (r->bits == 0) /* unimplemented */
                return 0;
index aa8ef0bba27e9d6d52f059ea1806466fbc81c302..84c6e7eca2f50db0783d7fe5ef2618ca58a79dd0 100644 (file)
@@ -257,7 +257,8 @@ static int __rtl8366_mdio_read_reg(struct rtl8366_smi *smi, u32 addr, u32 *data)
        u32 phy_id = smi->phy_id;
        struct mii_bus *mbus = smi->ext_mbus;
 
-       BUG_ON(in_interrupt());
+       if (WARN_ON(in_interrupt()))
+               return -EPERM;
 
        mutex_lock(&mbus->mdio_lock);
        /* Write Start command to register 29 */
@@ -279,7 +280,7 @@ static int __rtl8366_mdio_read_reg(struct rtl8366_smi *smi, u32 addr, u32 *data)
        mbus->write(mbus, phy_id, MDC_MDIO_CTRL1_REG, MDC_MDIO_READ_OP);
 
        /* Write Start command to register 29 */
-       mbus->write(smi->ext_mbus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
+       mbus->write(mbus, phy_id, MDC_MDIO_START_REG, MDC_MDIO_START_OP);
 
        /* Read data from register 25 */
        *data = mbus->read(mbus, phy_id, MDC_MDIO_DATA_READ_REG);
@@ -294,7 +295,8 @@ static int __rtl8366_mdio_write_reg(struct rtl8366_smi *smi, u32 addr, u32 data)
        u32 phy_id = smi->phy_id;
        struct mii_bus *mbus = smi->ext_mbus;
 
-       BUG_ON(in_interrupt());
+       if (WARN_ON(in_interrupt()))
+               return -EPERM;
 
        mutex_lock(&mbus->mdio_lock);
 
@@ -1344,7 +1346,8 @@ struct rtl8366_smi *rtl8366_smi_alloc(struct device *parent)
 {
        struct rtl8366_smi *smi;
 
-       BUG_ON(!parent);
+       if (WARN_ON(!parent))
+               return NULL;
 
        smi = kzalloc(sizeof(*smi), GFP_KERNEL);
        if (!smi) {
index f902ddc9183581f3b3d1fa494edec070cbf3d66d..37c8ef7469518d94d69a8c6b4a0bf54b9a753789 100644 (file)
@@ -1114,7 +1114,8 @@ register_switch(struct switch_dev *dev, struct net_device *netdev)
                if (!dev->alias)
                        dev->alias = netdev->name;
        }
-       BUG_ON(!dev->alias);
+       if (WARN_ON(!dev->alias))
+               return -EINVAL;
 
        /* Make sure swdev_id doesn't overflow */
        if (swdev_id == INT_MAX) {