Message ID | 1619604188-120341-1-git-send-email-jiapeng.chong@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: macb: Remove redundant assignment to w0 and queue | expand |
Hi Jiapeng, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.12 next-20210428] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Jiapeng-Chong/net-macb-Remove-redundant-assignment-to-w0-and-queue/20210428-180547 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git acd3d28594536e9096c1ea76c5867d8a68babef6 config: i386-randconfig-s001-20210428 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-341-g8af24329-dirty # https://github.com/0day-ci/linux/commit/baa719bc71d10dc85036336b0c1b1556da2339a6 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jiapeng-Chong/net-macb-Remove-redundant-assignment-to-w0-and-queue/20210428-180547 git checkout baa719bc71d10dc85036336b0c1b1556da2339a6 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) drivers/net/ethernet/cadence/macb_main.c:282:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] bottom @@ got restricted __le32 [usertype] @@ drivers/net/ethernet/cadence/macb_main.c:282:16: sparse: expected unsigned int [usertype] bottom drivers/net/ethernet/cadence/macb_main.c:282:16: sparse: got restricted __le32 [usertype] drivers/net/ethernet/cadence/macb_main.c:284:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] top @@ got restricted __le16 [usertype] @@ drivers/net/ethernet/cadence/macb_main.c:284:13: sparse: expected unsigned short [usertype] top drivers/net/ethernet/cadence/macb_main.c:284:13: sparse: got restricted __le16 [usertype] drivers/net/ethernet/cadence/macb_main.c:3214:39: sparse: sparse: restricted __be32 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3219:39: sparse: sparse: restricted __be32 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3224:40: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3224:69: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3249:20: sparse: sparse: restricted __be32 degrades to integer >> drivers/net/ethernet/cadence/macb_main.c:3252:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] w0 @@ got restricted __be32 [usertype] ip4src @@ drivers/net/ethernet/cadence/macb_main.c:3252:20: sparse: expected unsigned int [usertype] w0 drivers/net/ethernet/cadence/macb_main.c:3252:20: sparse: got restricted __be32 [usertype] ip4src drivers/net/ethernet/cadence/macb_main.c:3262:20: sparse: sparse: restricted __be32 degrades to integer >> drivers/net/ethernet/cadence/macb_main.c:3265:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] w0 @@ got restricted __be32 [usertype] ip4dst @@ drivers/net/ethernet/cadence/macb_main.c:3265:20: sparse: expected unsigned int [usertype] w0 drivers/net/ethernet/cadence/macb_main.c:3265:20: sparse: got restricted __be32 [usertype] ip4dst drivers/net/ethernet/cadence/macb_main.c:3275:21: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3275:50: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3281:30: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3282:30: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3289:36: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3290:38: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3293:38: sparse: sparse: restricted __be16 degrades to integer drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip4src @@ drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: expected unsigned int [usertype] val drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: got restricted __be32 [usertype] ip4src drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip4dst @@ drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: expected unsigned int [usertype] val drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: got restricted __be32 [usertype] ip4dst drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] psrc @@ drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: expected unsigned short [usertype] val drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: got restricted __be16 [usertype] psrc drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] pdst @@ drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: expected unsigned short [usertype] val drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: got restricted __be16 [usertype] pdst drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3329:9: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip4src @@ drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: expected unsigned int [usertype] val drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: got restricted __be32 [usertype] ip4src drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __be32 [usertype] ip4dst @@ drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: expected unsigned int [usertype] val drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: got restricted __be32 [usertype] ip4dst drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be32 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] psrc @@ drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: expected unsigned short [usertype] val drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: got restricted __be16 [usertype] psrc drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __be16 [usertype] pdst @@ drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: expected unsigned short [usertype] val drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: got restricted __be16 [usertype] pdst drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 drivers/net/ethernet/cadence/macb_main.c:3382:25: sparse: sparse: cast from restricted __be16 vim +3252 drivers/net/ethernet/cadence/macb_main.c ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3232 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3233 static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3234 { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3235 struct ethtool_tcpip4_spec *tp4sp_v, *tp4sp_m; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3236 uint16_t index = fs->location; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3237 u32 w0, w1, t2_scr; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3238 bool cmp_a = false; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3239 bool cmp_b = false; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3240 bool cmp_c = false; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3241 a14d273ba15968 Claudiu Beznea 2021-04-02 3242 if (!macb_is_gem(bp)) a14d273ba15968 Claudiu Beznea 2021-04-02 3243 return; a14d273ba15968 Claudiu Beznea 2021-04-02 3244 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3245 tp4sp_v = &(fs->h_u.tcp_ip4_spec); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3246 tp4sp_m = &(fs->m_u.tcp_ip4_spec); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3247 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3248 /* ignore field if any masking set */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3249 if (tp4sp_m->ip4src == 0xFFFFFFFF) { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3250 /* 1st compare reg - IP source address */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3251 w1 = 0; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 @3252 w0 = tp4sp_v->ip4src; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3253 w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3254 w1 = GEM_BFINS(T2CMPOFST, GEM_T2COMPOFST_ETYPE, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3255 w1 = GEM_BFINS(T2OFST, ETYPE_SRCIP_OFFSET, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3256 gem_writel_n(bp, T2CMPW0, T2CMP_OFST(GEM_IP4SRC_CMP(index)), w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3257 gem_writel_n(bp, T2CMPW1, T2CMP_OFST(GEM_IP4SRC_CMP(index)), w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3258 cmp_a = true; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3259 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3260 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3261 /* ignore field if any masking set */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3262 if (tp4sp_m->ip4dst == 0xFFFFFFFF) { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3263 /* 2nd compare reg - IP destination address */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3264 w1 = 0; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 @3265 w0 = tp4sp_v->ip4dst; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3266 w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3267 w1 = GEM_BFINS(T2CMPOFST, GEM_T2COMPOFST_ETYPE, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3268 w1 = GEM_BFINS(T2OFST, ETYPE_DSTIP_OFFSET, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3269 gem_writel_n(bp, T2CMPW0, T2CMP_OFST(GEM_IP4DST_CMP(index)), w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3270 gem_writel_n(bp, T2CMPW1, T2CMP_OFST(GEM_IP4DST_CMP(index)), w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3271 cmp_b = true; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3272 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3273 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3274 /* ignore both port fields if masking set in both */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3275 if ((tp4sp_m->psrc == 0xFFFF) || (tp4sp_m->pdst == 0xFFFF)) { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3276 /* 3rd compare reg - source port, destination port */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3277 w0 = 0; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3278 w1 = 0; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3279 w1 = GEM_BFINS(T2CMPOFST, GEM_T2COMPOFST_IPHDR, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3280 if (tp4sp_m->psrc == tp4sp_m->pdst) { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3281 w0 = GEM_BFINS(T2MASK, tp4sp_v->psrc, w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3282 w0 = GEM_BFINS(T2CMP, tp4sp_v->pdst, w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3283 w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3284 w1 = GEM_BFINS(T2OFST, IPHDR_SRCPORT_OFFSET, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3285 } else { ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3286 /* only one port definition */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3287 w1 = GEM_BFINS(T2DISMSK, 0, w1); /* 16-bit compare */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3288 w0 = GEM_BFINS(T2MASK, 0xFFFF, w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3289 if (tp4sp_m->psrc == 0xFFFF) { /* src port */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3290 w0 = GEM_BFINS(T2CMP, tp4sp_v->psrc, w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3291 w1 = GEM_BFINS(T2OFST, IPHDR_SRCPORT_OFFSET, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3292 } else { /* dst port */ ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3293 w0 = GEM_BFINS(T2CMP, tp4sp_v->pdst, w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3294 w1 = GEM_BFINS(T2OFST, IPHDR_DSTPORT_OFFSET, w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3295 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3296 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3297 gem_writel_n(bp, T2CMPW0, T2CMP_OFST(GEM_PORT_CMP(index)), w0); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3298 gem_writel_n(bp, T2CMPW1, T2CMP_OFST(GEM_PORT_CMP(index)), w1); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3299 cmp_c = true; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3300 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3301 ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3302 t2_scr = 0; ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3303 t2_scr = GEM_BFINS(QUEUE, (fs->ring_cookie) & 0xFF, t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3304 t2_scr = GEM_BFINS(ETHT2IDX, SCRT2_ETHT, t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3305 if (cmp_a) ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3306 t2_scr = GEM_BFINS(CMPA, GEM_IP4SRC_CMP(index), t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3307 if (cmp_b) ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3308 t2_scr = GEM_BFINS(CMPB, GEM_IP4DST_CMP(index), t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3309 if (cmp_c) ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3310 t2_scr = GEM_BFINS(CMPC, GEM_PORT_CMP(index), t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3311 gem_writel_n(bp, SCRT2, index, t2_scr); ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3312 } ae8223de3df5a0 Rafal Ozieblo 2017-11-30 3313 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
On Wed, 28 Apr 2021 18:03:08 +0800 Jiapeng Chong wrote: > diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c > index 0f6a6cb..5f1dbc2 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -3248,7 +3248,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) > /* ignore field if any masking set */ > if (tp4sp_m->ip4src == 0xFFFFFFFF) { > /* 1st compare reg - IP source address */ > - w0 = 0; > w1 = 0; > w0 = tp4sp_v->ip4src; > w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ > @@ -3262,7 +3261,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) > /* ignore field if any masking set */ > if (tp4sp_m->ip4dst == 0xFFFFFFFF) { > /* 2nd compare reg - IP destination address */ > - w0 = 0; > w1 = 0; > w0 = tp4sp_v->ip4dst; > w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ Looks like this was written like that on purpose. > @@ -4829,7 +4827,7 @@ static int __maybe_unused macb_suspend(struct device *dev) > { > struct net_device *netdev = dev_get_drvdata(dev); > struct macb *bp = netdev_priv(netdev); > - struct macb_queue *queue = bp->queues; > + struct macb_queue *queue; > unsigned long flags; > unsigned int q; > int err; > @@ -4916,7 +4914,7 @@ static int __maybe_unused macb_resume(struct device *dev) > { > struct net_device *netdev = dev_get_drvdata(dev); > struct macb *bp = netdev_priv(netdev); > - struct macb_queue *queue = bp->queues; > + struct macb_queue *queue; > unsigned long flags; > unsigned int q; > int err; This chunk looks good! Would you mind splitting the patch into two (1 - w0 assignments, and 2 - queue assignments) and reposting? We can merge the latter, the former is up to the driver maintainer to decide.
On 28/04/2021 at 21:21, Jakub Kicinski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Wed, 28 Apr 2021 18:03:08 +0800 Jiapeng Chong wrote: >> diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c >> index 0f6a6cb..5f1dbc2 100644 >> --- a/drivers/net/ethernet/cadence/macb_main.c >> +++ b/drivers/net/ethernet/cadence/macb_main.c >> @@ -3248,7 +3248,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) >> /* ignore field if any masking set */ >> if (tp4sp_m->ip4src == 0xFFFFFFFF) { >> /* 1st compare reg - IP source address */ >> - w0 = 0; >> w1 = 0; >> w0 = tp4sp_v->ip4src; >> w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ >> @@ -3262,7 +3261,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) >> /* ignore field if any masking set */ >> if (tp4sp_m->ip4dst == 0xFFFFFFFF) { >> /* 2nd compare reg - IP destination address */ >> - w0 = 0; >> w1 = 0; >> w0 = tp4sp_v->ip4dst; >> w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ > > Looks like this was written like that on purpose. > >> @@ -4829,7 +4827,7 @@ static int __maybe_unused macb_suspend(struct device *dev) >> { >> struct net_device *netdev = dev_get_drvdata(dev); >> struct macb *bp = netdev_priv(netdev); >> - struct macb_queue *queue = bp->queues; >> + struct macb_queue *queue; >> unsigned long flags; >> unsigned int q; >> int err; >> @@ -4916,7 +4914,7 @@ static int __maybe_unused macb_resume(struct device *dev) >> { >> struct net_device *netdev = dev_get_drvdata(dev); >> struct macb *bp = netdev_priv(netdev); >> - struct macb_queue *queue = bp->queues; >> + struct macb_queue *queue; >> unsigned long flags; >> unsigned int q; >> int err; > > This chunk looks good! > > Would you mind splitting the patch into two (1 - w0 assignments, and > 2 - queue assignments) and reposting? We can merge the latter, the > former is up to the driver maintainer to decide. Good move Jakub, thanks for having suggested this as we are highlighting a bug! Best regards, Nicolas
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 0f6a6cb..5f1dbc2 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -3248,7 +3248,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) /* ignore field if any masking set */ if (tp4sp_m->ip4src == 0xFFFFFFFF) { /* 1st compare reg - IP source address */ - w0 = 0; w1 = 0; w0 = tp4sp_v->ip4src; w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ @@ -3262,7 +3261,6 @@ static void gem_prog_cmp_regs(struct macb *bp, struct ethtool_rx_flow_spec *fs) /* ignore field if any masking set */ if (tp4sp_m->ip4dst == 0xFFFFFFFF) { /* 2nd compare reg - IP destination address */ - w0 = 0; w1 = 0; w0 = tp4sp_v->ip4dst; w1 = GEM_BFINS(T2DISMSK, 1, w1); /* 32-bit compare */ @@ -4829,7 +4827,7 @@ static int __maybe_unused macb_suspend(struct device *dev) { struct net_device *netdev = dev_get_drvdata(dev); struct macb *bp = netdev_priv(netdev); - struct macb_queue *queue = bp->queues; + struct macb_queue *queue; unsigned long flags; unsigned int q; int err; @@ -4916,7 +4914,7 @@ static int __maybe_unused macb_resume(struct device *dev) { struct net_device *netdev = dev_get_drvdata(dev); struct macb *bp = netdev_priv(netdev); - struct macb_queue *queue = bp->queues; + struct macb_queue *queue; unsigned long flags; unsigned int q; int err;
Variable w0 and queue is set to zero and bp->queues but these values is not used as it is overwritten later on, hence redundant assignment can be removed. Cleans up the following clang-analyzer warning: drivers/net/ethernet/cadence/macb_main.c:4919:21: warning: Value stored to 'queue' during its initialization is never read [clang-analyzer-deadcode.DeadStores]. drivers/net/ethernet/cadence/macb_main.c:4832:21: warning: Value stored to 'queue' during its initialization is never read [clang-analyzer-deadcode.DeadStores]. drivers/net/ethernet/cadence/macb_main.c:3265:3: warning: Value stored to 'w0' is never read [clang-analyzer-deadcode.DeadStores]. drivers/net/ethernet/cadence/macb_main.c:3251:3: warning: Value stored to 'w0' is never read [clang-analyzer-deadcode.DeadStores]. Reported-by: Abaci Robot <abaci@linux.alibaba.com> Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com> --- drivers/net/ethernet/cadence/macb_main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)