CC: [email protected]
CC: [email protected]
TO: Ansuel Smith <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   0457e5153e0e8420134f60921349099e907264ca
commit: def975307c01191b6f0170048c3724b0ed3348af net: dsa: qca8k: add LAG 
support
date:   2 months ago
:::::: branch date: 9 hours ago
:::::: commit date: 2 months ago
compiler: nios2-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)

>> net/core/dev.c:1596:2: warning: Returning an integer in a function with 
>> pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(UP) N(DOWN) N(REBOOT) N(CHANGE) N(REGISTER) N(UNREGISTER)
    ^
   net/core/dev.c:1597:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(CHANGEMTU) N(CHANGEADDR) N(GOING_DOWN) N(CHANGENAME) N(FEAT_CHANGE)
    ^
   net/core/dev.c:1598:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(BONDING_FAILOVER) N(PRE_UP) N(PRE_TYPE_CHANGE) N(POST_TYPE_CHANGE)
    ^
   net/core/dev.c:1599:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(POST_INIT) N(RELEASE) N(NOTIFY_PEERS) N(JOIN) N(CHANGEUPPER)
    ^
   net/core/dev.c:1600:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(RESEND_IGMP) N(PRECHANGEMTU) N(CHANGEINFODATA) N(BONDING_INFO)
    ^
   net/core/dev.c:1601:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(PRECHANGEUPPER) N(CHANGELOWERSTATE) N(UDP_TUNNEL_PUSH_INFO)
    ^
   net/core/dev.c:1602:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(UDP_TUNNEL_DROP_INFO) N(CHANGE_TX_QUEUE_LEN)
    ^
   net/core/dev.c:1603:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(CVLAN_FILTER_PUSH_INFO) N(CVLAN_FILTER_DROP_INFO)
    ^
   net/core/dev.c:1604:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(SVLAN_FILTER_PUSH_INFO) N(SVLAN_FILTER_DROP_INFO)
    ^
   net/core/dev.c:1605:2: warning: Returning an integer in a function with 
pointer return type is not portable. [CastIntegerToAddressAtReturn]
    N(PRE_CHANGEADDR)
    ^
>> net/core/dev.c:6718:2: warning: Address of local auto-variable assigned to a 
>> function parameter. [autoVariables]
    *iter = &upper->list;
    ^
   net/core/dev.c:6735:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &upper->list;
    ^
   net/core/dev.c:6753:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &upper->list;
    ^
   net/core/dev.c:6917:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &lower->list;
    ^
   net/core/dev.c:6959:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &lower->list;
    ^
   net/core/dev.c:6975:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &lower->list;
    ^
   net/core/dev.c:7086:2: warning: Address of local auto-variable assigned to a 
function parameter. [autoVariables]
    *iter = &lower->list;
    ^
>> net/ipv4/tcp_input.c:3465:2: warning: Non-boolean value returned from 
>> function returning bool [returnNonBoolInBooleanFunction]
    return flag & FLAG_DATA_ACKED;
    ^
>> 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