CC: kbuild-all(a)lists.01.org CC: Linux Memory Management List TO: Vladimir Oltean CC: Florian Fainelli tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 6553715b6db5ff5d4898895dad1b2926cfe406cf commit: 0a6f17c6ae2116809a7b7eb6dd3eab59ef5460ef [11146/11526] net: dsa: tag_ocelot_8021q: add support for PTP timestamping :::::: branch date: 9 hours ago :::::: commit date: 2 days ago config: parisc-randconfig-m031-20210216 (attached as .config) compiler: hppa-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/dsa/ocelot/felix.c:1329 felix_check_xtr_pkt() error: uninitialized symbol 'err'. vim +/err +1329 drivers/net/dsa/ocelot/felix.c c0bcf537667cf8 Yangbo Lu 2019-11-20 1285 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1286 static bool felix_check_xtr_pkt(struct ocelot *ocelot, unsigned int ptp_type) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1287 { 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1288 struct felix *felix = ocelot_to_felix(ocelot); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1289 int err, grp = 0; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1290 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1291 if (felix->tag_proto != DSA_TAG_PROTO_OCELOT_8021Q) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1292 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1293 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1294 if (!felix->info->quirk_no_xtr_irq) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1295 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1296 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1297 if (ptp_type == PTP_CLASS_NONE) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1298 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1299 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1300 while (ocelot_read(ocelot, QS_XTR_DATA_PRESENT) & BIT(grp)) { 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1301 struct sk_buff *skb; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1302 unsigned int type; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1303 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1304 err = ocelot_xtr_poll_frame(ocelot, grp, &skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1305 if (err) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1306 goto out; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1307 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1308 /* We trap to the CPU port module all PTP frames, but 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1309 * felix_rxtstamp() only gets called for event frames. 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1310 * So we need to avoid sending duplicate general 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1311 * message frames by running a second BPF classifier 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1312 * here and dropping those. 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1313 */ 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1314 __skb_push(skb, ETH_HLEN); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1315 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1316 type = ptp_classify_raw(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1317 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1318 __skb_pull(skb, ETH_HLEN); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1319 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1320 if (type == PTP_CLASS_NONE) { 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1321 kfree_skb(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1322 continue; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1323 } 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1324 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1325 netif_rx(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1326 } 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1327 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1328 out: 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 @1329 if (err < 0) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1330 ocelot_drain_cpu_queue(ocelot, 0); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1331 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1332 return true; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1333 } 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1334 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org