CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Ansuel Smith <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   2850c2311ef4bf30ae8dd8927f0f66b026ff08fb
commit: def975307c01191b6f0170048c3724b0ed3348af [2469/8895] net: dsa: qca8k: 
add LAG support
:::::: branch date: 2 hours ago
:::::: commit date: 4 weeks ago
compiler: s390-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/net/dsa/qca8k.c:2315:44: warning: Boolean result is used in bitwise 
>> operation. Clarify expression with parentheses. [clarifyCondition]
        !val << QCA8K_REG_GOL_TRUNK_SHIFT(id) |
                                              ^
   drivers/net/dsa/qca8k.c:2353:61: warning: Boolean result is used in bitwise 
operation. Clarify expression with parentheses. [clarifyCondition]
         !delete << QCA8K_REG_GOL_TRUNK_ID_MEM_ID_SHIFT(id, i) |
                                                               ^
>> drivers/net/dsa/qca8k.c:693:52: warning: Uninitialized variable: val 
>> [uninitvar]
    ret = read_poll_timeout(qca8k_mii_read32, ret1, !(val & mask), 0,
                                                      ^

vim +2315 drivers/net/dsa/qca8k.c

def975307c0119 Ansuel Smith 2021-11-23  2287  
def975307c0119 Ansuel Smith 2021-11-23  2288  static int
def975307c0119 Ansuel Smith 2021-11-23  2289  qca8k_lag_refresh_portmap(struct 
dsa_switch *ds, int port,
def975307c0119 Ansuel Smith 2021-11-23  2290                      struct 
net_device *lag, bool delete)
def975307c0119 Ansuel Smith 2021-11-23  2291  {
def975307c0119 Ansuel Smith 2021-11-23  2292    struct qca8k_priv *priv = 
ds->priv;
def975307c0119 Ansuel Smith 2021-11-23  2293    int ret, id, i;
def975307c0119 Ansuel Smith 2021-11-23  2294    u32 val;
def975307c0119 Ansuel Smith 2021-11-23  2295  
def975307c0119 Ansuel Smith 2021-11-23  2296    id = dsa_lag_id(ds->dst, lag);
def975307c0119 Ansuel Smith 2021-11-23  2297  
def975307c0119 Ansuel Smith 2021-11-23  2298    /* Read current port member */
def975307c0119 Ansuel Smith 2021-11-23  2299    ret = regmap_read(priv->regmap, 
QCA8K_REG_GOL_TRUNK_CTRL0, &val);
def975307c0119 Ansuel Smith 2021-11-23  2300    if (ret)
def975307c0119 Ansuel Smith 2021-11-23  2301            return ret;
def975307c0119 Ansuel Smith 2021-11-23  2302  
def975307c0119 Ansuel Smith 2021-11-23  2303    /* Shift val to the correct 
trunk */
def975307c0119 Ansuel Smith 2021-11-23  2304    val >>= 
QCA8K_REG_GOL_TRUNK_SHIFT(id);
def975307c0119 Ansuel Smith 2021-11-23  2305    val &= 
QCA8K_REG_GOL_TRUNK_MEMBER_MASK;
def975307c0119 Ansuel Smith 2021-11-23  2306    if (delete)
def975307c0119 Ansuel Smith 2021-11-23  2307            val &= ~BIT(port);
def975307c0119 Ansuel Smith 2021-11-23  2308    else
def975307c0119 Ansuel Smith 2021-11-23  2309            val |= BIT(port);
def975307c0119 Ansuel Smith 2021-11-23  2310  
def975307c0119 Ansuel Smith 2021-11-23  2311    /* Update port member. With 
empty portmap disable trunk */
def975307c0119 Ansuel Smith 2021-11-23  2312    ret = 
regmap_update_bits(priv->regmap, QCA8K_REG_GOL_TRUNK_CTRL0,
def975307c0119 Ansuel Smith 2021-11-23  2313                             
QCA8K_REG_GOL_TRUNK_MEMBER(id) |
def975307c0119 Ansuel Smith 2021-11-23  2314                             
QCA8K_REG_GOL_TRUNK_EN(id),
def975307c0119 Ansuel Smith 2021-11-23 @2315                             !val 
<< QCA8K_REG_GOL_TRUNK_SHIFT(id) |
def975307c0119 Ansuel Smith 2021-11-23  2316                             val << 
QCA8K_REG_GOL_TRUNK_SHIFT(id));
def975307c0119 Ansuel Smith 2021-11-23  2317  
def975307c0119 Ansuel Smith 2021-11-23  2318    /* Search empty member if 
adding or port on deleting */
def975307c0119 Ansuel Smith 2021-11-23  2319    for (i = 0; i < 
QCA8K_NUM_PORTS_FOR_LAG; i++) {
def975307c0119 Ansuel Smith 2021-11-23  2320            ret = 
regmap_read(priv->regmap, QCA8K_REG_GOL_TRUNK_CTRL(id), &val);
def975307c0119 Ansuel Smith 2021-11-23  2321            if (ret)
def975307c0119 Ansuel Smith 2021-11-23  2322                    return ret;
def975307c0119 Ansuel Smith 2021-11-23  2323  
def975307c0119 Ansuel Smith 2021-11-23  2324            val >>= 
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_SHIFT(id, i);
def975307c0119 Ansuel Smith 2021-11-23  2325            val &= 
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_MASK;
def975307c0119 Ansuel Smith 2021-11-23  2326  
def975307c0119 Ansuel Smith 2021-11-23  2327            if (delete) {
def975307c0119 Ansuel Smith 2021-11-23  2328                    /* If port 
flagged to be disabled assume this member is
def975307c0119 Ansuel Smith 2021-11-23  2329                     * empty
def975307c0119 Ansuel Smith 2021-11-23  2330                     */
def975307c0119 Ansuel Smith 2021-11-23  2331                    if (val != 
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_EN_MASK)
def975307c0119 Ansuel Smith 2021-11-23  2332                            
continue;
def975307c0119 Ansuel Smith 2021-11-23  2333  
def975307c0119 Ansuel Smith 2021-11-23  2334                    val &= 
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_PORT_MASK;
def975307c0119 Ansuel Smith 2021-11-23  2335                    if (val != port)
def975307c0119 Ansuel Smith 2021-11-23  2336                            
continue;
def975307c0119 Ansuel Smith 2021-11-23  2337            } else {
def975307c0119 Ansuel Smith 2021-11-23  2338                    /* If port 
flagged to be enabled assume this member is
def975307c0119 Ansuel Smith 2021-11-23  2339                     * already set
def975307c0119 Ansuel Smith 2021-11-23  2340                     */
def975307c0119 Ansuel Smith 2021-11-23  2341                    if (val == 
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_EN_MASK)
def975307c0119 Ansuel Smith 2021-11-23  2342                            
continue;
def975307c0119 Ansuel Smith 2021-11-23  2343            }
def975307c0119 Ansuel Smith 2021-11-23  2344  
def975307c0119 Ansuel Smith 2021-11-23  2345            /* We have found the 
member to add/remove */
def975307c0119 Ansuel Smith 2021-11-23  2346            break;
def975307c0119 Ansuel Smith 2021-11-23  2347    }
def975307c0119 Ansuel Smith 2021-11-23  2348  
def975307c0119 Ansuel Smith 2021-11-23  2349    /* Set port in the correct port 
mask or disable port if in delete mode */
def975307c0119 Ansuel Smith 2021-11-23  2350    return 
regmap_update_bits(priv->regmap, QCA8K_REG_GOL_TRUNK_CTRL(id),
def975307c0119 Ansuel Smith 2021-11-23  2351                              
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_EN(id, i) |
def975307c0119 Ansuel Smith 2021-11-23  2352                              
QCA8K_REG_GOL_TRUNK_ID_MEM_ID_PORT(id, i),
def975307c0119 Ansuel Smith 2021-11-23  2353                              
!delete << QCA8K_REG_GOL_TRUNK_ID_MEM_ID_SHIFT(id, i) |
def975307c0119 Ansuel Smith 2021-11-23  2354                              port 
<< QCA8K_REG_GOL_TRUNK_ID_MEM_ID_SHIFT(id, i));
def975307c0119 Ansuel Smith 2021-11-23  2355  }
def975307c0119 Ansuel Smith 2021-11-23  2356  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to