From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: Re: [PATCH net-next 2/3] net: dsa: vsc73xx: implement packet reception via control interface
Date: Sat, 26 Oct 2024 05:06:52 +0800 [thread overview]
Message-ID: <202410260438.P3jDdLQI-lkp@intel.com> (raw)
BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <20241020205452.2660042-2-paweldembicki@gmail.com>
References: <20241020205452.2660042-2-paweldembicki@gmail.com>
TO: Pawel Dembicki <paweldembicki@gmail.com>
TO: netdev@vger.kernel.org
CC: Linus Walleij <linus.walleij@linaro.org>
CC: Pawel Dembicki <paweldembicki@gmail.com>
CC: Andrew Lunn <andrew@lunn.ch>
CC: Florian Fainelli <f.fainelli@gmail.com>
CC: Vladimir Oltean <olteanv@gmail.com>
CC: Eric Dumazet <edumazet@google.com>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Paolo Abeni <pabeni@redhat.com>
CC: linux-kernel@vger.kernel.org
Hi Pawel,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Pawel-Dembicki/net-dsa-vsc73xx-implement-packet-reception-via-control-interface/20241021-050041
base: net-next/main
patch link: https://lore.kernel.org/r/20241020205452.2660042-2-paweldembicki%40gmail.com
patch subject: [PATCH net-next 2/3] net: dsa: vsc73xx: implement packet reception via control interface
:::::: branch date: 5 days ago
:::::: commit date: 5 days ago
config: arm-randconfig-r072-20241024 (https://download.01.org/0day-ci/archive/20241026/202410260438.P3jDdLQI-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 5886454669c3c9026f7f27eab13509dd0241f2d6)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202410260438.P3jDdLQI-lkp@intel.com/
New smatch warnings:
drivers/net/dsa/vitesse-vsc73xx-core.c:935 vsc73xx_polled_rcv() error: uninitialized symbol 'len'.
Old smatch warnings:
drivers/net/dsa/vitesse-vsc73xx-core.c:839 vsc73xx_inject_frame() error: uninitialized symbol 'ret'.
vim +/len +935 drivers/net/dsa/vitesse-vsc73xx-core.c
ffd38d14c3235e Pawel Dembicki 2024-10-20 879
2fcbacbba1b072 Pawel Dembicki 2024-10-20 880 static void vsc73xx_polled_rcv(struct kthread_work *work)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 881 {
2fcbacbba1b072 Pawel Dembicki 2024-10-20 882 struct vsc73xx *vsc = container_of(work, struct vsc73xx, dwork.work);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 883 u16 ptr = VSC73XX_CAPT_FRAME_DATA;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 884 struct dsa_switch *ds = vsc->ds;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 885 int ret, buf_len, len, part;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 886 struct vsc73xx_ifh ifh;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 887 struct net_device *dev;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 888 struct dsa_port *dp;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 889 struct sk_buff *skb;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 890 u32 val, *buf;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 891 u16 count;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 892
2fcbacbba1b072 Pawel Dembicki 2024-10-20 893 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_SYSTEM, 0, VSC73XX_CAPCTRL, &val);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 894 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 895 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 896
2fcbacbba1b072 Pawel Dembicki 2024-10-20 897 if (!(val & VSC73XX_CAPCTRL_QUEUE0_READY))
2fcbacbba1b072 Pawel Dembicki 2024-10-20 898 /* No frame to read */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 899 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 900
2fcbacbba1b072 Pawel Dembicki 2024-10-20 901 /* Initialise reading */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 902 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_CAPTURE, VSC73XX_BLOCK_CAPT_Q0,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 903 VSC73XX_CAPT_CAPREADP, &val);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 904 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 905 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 906
2fcbacbba1b072 Pawel Dembicki 2024-10-20 907 /* Get internal frame header */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 908 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_CAPTURE,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 909 VSC73XX_BLOCK_CAPT_FRAME0, ptr++, &ifh.datah);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 910 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 911 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 912
2fcbacbba1b072 Pawel Dembicki 2024-10-20 913 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_CAPTURE,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 914 VSC73XX_BLOCK_CAPT_FRAME0, ptr++, &ifh.datal);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 915 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 916 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 917
2fcbacbba1b072 Pawel Dembicki 2024-10-20 918 if (ifh.magic != VSC73XX_IFH_MAGIC) {
2fcbacbba1b072 Pawel Dembicki 2024-10-20 919 /* Something goes wrong with buffer. Reset capture block */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 920 vsc73xx_write(vsc, VSC73XX_BLOCK_CAPTURE,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 921 VSC73XX_BLOCK_CAPT_RST, VSC73XX_CAPT_CAPRST, 1);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 922 goto queue;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 923 }
2fcbacbba1b072 Pawel Dembicki 2024-10-20 924
2fcbacbba1b072 Pawel Dembicki 2024-10-20 925 if (!dsa_is_user_port(ds, ifh.port))
2fcbacbba1b072 Pawel Dembicki 2024-10-20 926 goto release_frame;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 927
2fcbacbba1b072 Pawel Dembicki 2024-10-20 928 dp = dsa_to_port(ds, ifh.port);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 929 dev = dp->user;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 930 if (!dev)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 931 goto release_frame;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 932
2fcbacbba1b072 Pawel Dembicki 2024-10-20 933 count = (ifh.frame_length + 7 + VSC73XX_IFH_SIZE - ETH_FCS_LEN) >> 2;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 934
2fcbacbba1b072 Pawel Dembicki 2024-10-20 @935 skb = netdev_alloc_skb(dev, len);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 936 if (unlikely(!skb)) {
2fcbacbba1b072 Pawel Dembicki 2024-10-20 937 netdev_err(dev, "Unable to allocate sk_buff\n");
2fcbacbba1b072 Pawel Dembicki 2024-10-20 938 goto release_frame;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 939 }
2fcbacbba1b072 Pawel Dembicki 2024-10-20 940
2fcbacbba1b072 Pawel Dembicki 2024-10-20 941 buf_len = ifh.frame_length - ETH_FCS_LEN;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 942 buf = (u32 *)skb_put(skb, buf_len);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 943 len = 0;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 944 part = 0;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 945
2fcbacbba1b072 Pawel Dembicki 2024-10-20 946 while (ptr < count) {
2fcbacbba1b072 Pawel Dembicki 2024-10-20 947 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_CAPTURE,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 948 VSC73XX_BLOCK_CAPT_FRAME0 + part, ptr++,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 949 buf + len);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 950 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 951 goto free_skb;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 952 len++;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 953 if (ptr > VSC73XX_CAPT_FRAME_DATA_MAX &&
2fcbacbba1b072 Pawel Dembicki 2024-10-20 954 count != VSC73XX_CAPT_FRAME_DATA_MAX) {
2fcbacbba1b072 Pawel Dembicki 2024-10-20 955 ptr = VSC73XX_CAPT_FRAME_DATA;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 956 part++;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 957 count -= VSC73XX_CAPT_FRAME_DATA_MAX;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 958 }
2fcbacbba1b072 Pawel Dembicki 2024-10-20 959 }
2fcbacbba1b072 Pawel Dembicki 2024-10-20 960
2fcbacbba1b072 Pawel Dembicki 2024-10-20 961 /* Get FCS */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 962 ret = vsc73xx_read(vsc, VSC73XX_BLOCK_CAPTURE,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 963 VSC73XX_BLOCK_CAPT_FRAME0, ptr++, &val);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 964 if (ret)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 965 goto free_skb;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 966
2fcbacbba1b072 Pawel Dembicki 2024-10-20 967 /* Everything we see on an interface that is in the HW bridge
2fcbacbba1b072 Pawel Dembicki 2024-10-20 968 * has already been forwarded.
2fcbacbba1b072 Pawel Dembicki 2024-10-20 969 */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 970 if (dp->bridge)
2fcbacbba1b072 Pawel Dembicki 2024-10-20 971 skb->offload_fwd_mark = 1;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 972
2fcbacbba1b072 Pawel Dembicki 2024-10-20 973 skb->protocol = eth_type_trans(skb, dev);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 974
2fcbacbba1b072 Pawel Dembicki 2024-10-20 975 netif_rx(skb);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 976 goto release_frame;
2fcbacbba1b072 Pawel Dembicki 2024-10-20 977
2fcbacbba1b072 Pawel Dembicki 2024-10-20 978 free_skb:
2fcbacbba1b072 Pawel Dembicki 2024-10-20 979 kfree_skb(skb);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 980 release_frame:
2fcbacbba1b072 Pawel Dembicki 2024-10-20 981 /* Release the frame from internal buffer */
2fcbacbba1b072 Pawel Dembicki 2024-10-20 982 vsc73xx_write(vsc, VSC73XX_BLOCK_CAPTURE, VSC73XX_BLOCK_CAPT_Q0,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 983 VSC73XX_CAPT_CAPREADP, 0);
2fcbacbba1b072 Pawel Dembicki 2024-10-20 984 queue:
2fcbacbba1b072 Pawel Dembicki 2024-10-20 985 kthread_queue_delayed_work(vsc->rcv_worker, &vsc->dwork,
2fcbacbba1b072 Pawel Dembicki 2024-10-20 986 msecs_to_jiffies(VSC73XX_RCV_POLL_INTERVAL));
2fcbacbba1b072 Pawel Dembicki 2024-10-20 987 }
2fcbacbba1b072 Pawel Dembicki 2024-10-20 988
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2024-10-25 21:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-25 21:06 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-10-20 20:54 [PATCH net-next 1/3] net: dsa: vsc73xx: implement transmit via control interface Pawel Dembicki
2024-10-20 20:54 ` [PATCH net-next 2/3] net: dsa: vsc73xx: implement packet reception " Pawel Dembicki
2024-10-21 10:42 ` Simon Horman
2024-10-21 11:38 ` Vladimir Oltean
2024-10-21 11:42 ` Vladimir Oltean
2024-10-22 2:18 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202410260438.P3jDdLQI-lkp@intel.com \
--to=lkp@intel.com \
--cc=error27@gmail.com \
--cc=oe-kbuild@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.